mirror of
https://github.com/NotXia/unibo-ai-notes.git
synced 2025-12-14 18:51:52 +01:00
30 lines
1.2 KiB
Python
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 |