import os from pathlib import Path _setup_hint = "You may be able to solve this error by running 'ttfrog setup' or specifying the --root parameter." def database(): path = Path(os.environ["DATA_PATH"]).expanduser() if not path.exists() or not path.is_dir(): raise RuntimeError(f"DATA_PATH {path} doesn't exist or isn't a directory.\n\n{_setup_hint}") return path / Path("tabletop-frog.db") def assets(): return Path(__file__).parent / "assets" def templates(): try: return Path(os.environ["TEMPLATES_PATH"]) except KeyError: return assets() / "templates" def static_files(): try: return Path(os.environ["STATIC_FILES_PATH"]) except KeyError: return assets() / "public"