Spaces:
Sleeping
Sleeping
| import os | |
| import sys | |
| sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))) | |
| from utils.logger import setup_logger | |
| from utils.json import get_file_path_from_config | |
| from utils.json import json_dumps | |
| from app.repositories.projects_repository import ProjectsRepository | |
| # --- ロギングの設定 --- | |
| log = setup_logger(__name__) | |
| def main(): | |
| """DB から企画データを取得し projects.json を生成する。""" | |
| log.info("企画データをDBから取得してprojects.jsonを生成します。") | |
| output_json_path = get_file_path_from_config( | |
| "projects.output_json", "data/generated/projects.json" | |
| ) | |
| try: | |
| repository = ProjectsRepository() | |
| projects = repository.list_projects() | |
| except Exception as exc: | |
| log.error(f"企画データの取得に失敗しました: {exc}") | |
| sys.exit(1) | |
| project_dicts = [project.model_dump(mode="json") for project in projects] | |
| os.makedirs(os.path.dirname(output_json_path), exist_ok=True) | |
| json_dumps(project_dicts, output_json_path) | |
| log.info(f"企画データの生成が完了しました: {output_json_path}") | |
| sys.exit(0) | |
| if __name__ == "__main__": | |
| main() | |