1
0
mirror of https://github.com/checktheroads/hyperglass synced 2024-05-11 05:55:08 +00:00
2020-10-11 13:14:07 -07:00

41 lines
1.0 KiB
Python

"""Utility Functions for Pydantic Models."""
# Standard Library
import os
from pathlib import Path
# Project
from hyperglass.log import log
def validate_image(value):
"""Convert file path to URL path.
Arguments:
value {FilePath} -- Path to logo file.
Returns:
{str} -- Formatted logo path
"""
config_path = Path(os.environ["hyperglass_directory"])
base_path = [v for v in value.split("/") if v != ""]
if base_path[0] not in ("images", "custom"):
raise ValueError(
f"Logo files must be in the 'custom/' directory of your hyperglass directory. Got: {value}"
)
if base_path[0] == "custom":
file = config_path / "static" / "custom" / "/".join(base_path[1:])
else:
file = config_path / "static" / "images" / "/".join(base_path[1:])
log.error(file)
if not file.exists():
raise ValueError(f"'{str(file)}' does not exist")
base_index = file.parts.index(base_path[0])
return "/".join(file.parts[base_index:])