···1414from flask import abort, g, request
15151616from apps.utils import get_app_storage_path
1717+from convey import state
17181819logger = logging.getLogger(__name__)
1920···222323242425def is_valid_journal_source_name(name: str) -> bool:
2525- return bool(name) and name not in {".", ".."} and "/" not in name and "\\" not in name
2626+ return (
2727+ bool(name) and name not in {".", ".."} and "/" not in name and "\\" not in name
2828+ )
262927302831def generate_key() -> str:
···9699 area_dir.mkdir(parents=True, exist_ok=True)
97100 (area_dir / "state.json").write_text("{}", encoding="utf-8")
98101 return state_dir
102102+103103+104104+def get_state_directory(key_prefix: str) -> Path:
105105+ return Path(state.journal_root) / "imports" / key_prefix
99106100107101108def require_journal_source(f):