mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-04-03 06:40:22 +00:00
There has been confusion between the Any type[1] and the any function[2] in typing hints. [1] https://docs.python.org/3/library/typing.html#typing.Any [2] https://docs.python.org/3/library/functions.html#any
38 lines
927 B
Python
38 lines
927 B
Python
import json
|
|
import sys
|
|
from typing import Any
|
|
|
|
from ruamel.yaml import YAML
|
|
|
|
sys.path.insert(0, "/opt/frigate")
|
|
from frigate.const import (
|
|
DEFAULT_FFMPEG_VERSION,
|
|
INCLUDED_FFMPEG_VERSIONS,
|
|
)
|
|
from frigate.util.config import find_config_file
|
|
|
|
sys.path.remove("/opt/frigate")
|
|
|
|
yaml = YAML()
|
|
|
|
config_file = find_config_file()
|
|
|
|
try:
|
|
with open(config_file) as f:
|
|
raw_config = f.read()
|
|
|
|
if config_file.endswith((".yaml", ".yml")):
|
|
config: dict[str, Any] = yaml.load(raw_config)
|
|
elif config_file.endswith(".json"):
|
|
config: dict[str, Any] = json.loads(raw_config)
|
|
except FileNotFoundError:
|
|
config: dict[str, Any] = {}
|
|
|
|
path = config.get("ffmpeg", {}).get("path", "default")
|
|
if path == "default":
|
|
print(f"/usr/lib/ffmpeg/{DEFAULT_FFMPEG_VERSION}/bin/ffmpeg")
|
|
elif path in INCLUDED_FFMPEG_VERSIONS:
|
|
print(f"/usr/lib/ffmpeg/{path}/bin/ffmpeg")
|
|
else:
|
|
print(f"{path}/bin/ffmpeg")
|