Files
unibo-ai-notes/.github/read_metadata.py
2024-05-29 21:16:00 +02:00

30 lines
1.2 KiB
Python

import os
import json
def readMetadata(src_path, gh_link="", metadata_file_name="metadata.json"):
notes_metadata = {}
# Reads courses metadata
for root, _, files in os.walk(src_path):
if metadata_file_name in files:
with open(os.path.join(root, metadata_file_name)) as f:
metadata = json.load(f)
dir_name = os.path.relpath(root, src_path)
gh_path = os.path.join(gh_link, dir_name)
if metadata["year"] not in notes_metadata: notes_metadata[metadata["year"]] = {}
if metadata["semester"] not in notes_metadata[metadata["year"]]: notes_metadata[metadata["year"]][metadata["semester"]] = {}
notes_metadata[metadata["year"]][metadata["semester"]][metadata["name"]] = {
"name": metadata["name"],
"content": [
{
"name": pdf["name"],
"url": os.path.join(gh_path, pdf["path"])
}
for pdf in metadata["pdfs"]
]
}
return notes_metadata