import os from pathlib import Path from openpilot.system.hardware import PC DEFAULT_DOWNLOAD_CACHE_ROOT = "/tmp/comma_download_cache" class Paths: @staticmethod def comma_home() -> str: return os.path.join(str(Path.home()), ".comma" + os.environ.get("OPENPILOT_PREFIX", "")) @staticmethod def log_root() -> str: if os.environ.get('LOG_ROOT', False): return os.environ['LOG_ROOT'] elif PC: return str(Path(Paths.comma_home()) / "media" / "0" / "realdata") else: return '/data/media/0/realdata/' @staticmethod def swaglog_root() -> str: if PC: return os.path.join(Paths.comma_home(), "log") else: return "/data/log/" @staticmethod def swaglog_ipc() -> str: return "ipc:///tmp/logmessage" + os.environ.get("OPENPILOT_PREFIX", "") @staticmethod def download_cache_root() -> str: if os.environ.get('COMMA_CACHE', False): return os.environ['COMMA_CACHE'] + "/" return DEFAULT_DOWNLOAD_CACHE_ROOT + os.environ.get("OPENPILOT_PREFIX", "") + "/" @staticmethod def persist_root() -> str: if PC: return os.path.join(Paths.comma_home(), "persist") else: return "/persist/" @staticmethod def stats_root() -> str: if PC: return str(Path(Paths.comma_home()) / "stats") else: return "/data/stats/" @staticmethod def config_root() -> str: if PC: return Paths.comma_home() else: return "/tmp/.comma"