Здравствуйте
Есть задачка: загрузить json-схемы из папки и сделать их доступными в других иодулях програмы
Накалякал нечто в стиле node.js. По ощущениям, и API и сам код модуля вышли какие-то неочень. И, я не в курсе, но наверное, с этим кодом что-нибудь не так в плане потокобезопасности? Раз есть глобальная переменная
Как бы вы реализовали API для этой задачки?
# API
# Где-нибудь в main.py
from json_schema import load_schemas
load_schemas(project_dir / 'json_schema')
# Позже, в других модулях
from json_schema import schema
schema['user']
# модуль json_schema.py
from pathlib import Path
from typing import Any, Dict, Union
from json import load
schema: Dict[str, Any] = {}
def load_schemas(schemas_dir: Union[Path, str]) -> None:
for p in Path(schemas_dir).iterdir():
if p.is_file():
with p.open() as f:
schema[p.stem] = load(f)