Spaces:
Sleeping
Sleeping
File size: 1,214 Bytes
b1ec9f2 c04ba23 b1ec9f2 67c9f93 b1ec9f2 67c9f93 b1ec9f2 c5e9ffd b1ec9f2 3512f9d 67c9f93 6acd23e b1ec9f2 fa87959 fc411a2 fa87959 b1ec9f2 6acd23e b1ec9f2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | 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()
|