Moved readme updater

This commit is contained in:
2024-05-29 21:16:00 +02:00
parent ab5daa0352
commit c18948b59c
3 changed files with 40 additions and 33 deletions

30
.github/read_metadata.py vendored Normal file
View File

@ -0,0 +1,30 @@
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

View File

@ -1,9 +1,5 @@
import argparse
import os
import pathlib
import json
METADATA_FILENAME = "metadata.json"
from read_metadata import readMetadata
if __name__ == "__main__":
@ -13,29 +9,7 @@ if __name__ == "__main__":
parser.add_argument("--gh-link", type=str, required=True, help="Link to the GitHub repo")
args = parser.parse_args()
notes_metadata = {}
# Reads courses metadata
for root, dirs, files in os.walk(args.src_path):
if METADATA_FILENAME in files:
with open(os.path.join(root, METADATA_FILENAME)) as f:
metadata = json.load(f)
dir_name = os.path.relpath(root, args.src_path)
gh_path = os.path.join(args.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"]
]
}
notes_metadata = readMetadata(args.src_path, args.gh_link)
# Appends links to README
with open(args.readme_path, "a") as readme_f:

View File

@ -4,7 +4,7 @@ on:
push:
branches:
- main
paths: ["src/**", .github/workflows/**, compile.sh]
paths: ["src/**", .github/**, compile.sh]
jobs:
compile:
@ -32,17 +32,20 @@ jobs:
- name: Prepare output directory
run: |
mkdir .compiled
cp LICENSE .compiled
mkdir ${GITHUB_WORKSPACE}/.compiled
cp ${GITHUB_WORKSPACE}/LICENSE ${GITHUB_WORKSPACE}/.compiled
- name: Compile
run: |
bash ./utils/compile.sh src .compiled .currpdfs
bash ${GITHUB_WORKSPACE}/utils/compile.sh src ${GITHUB_WORKSPACE}/.compiled ${GITHUB_WORKSPACE}/.currpdfs
- name: Generate README
run: |
cp README.md .compiled/README.md
python3 ./utils/update_readme.py --src-path ./src --readme-path .compiled/README.md --gh-link https://github.com/NotXia/unibo-ai-notes/blob/pdfs
python3 ${GITHUB_WORKSPACE}/.github/update_readme.py \
--src-path ${GITHUB_WORKSPACE}/src \
--readme-path ${GITHUB_WORKSPACE}/.compiled/README.md \
--gh-link https://github.com/NotXia/unibo-ai-notes/blob/pdfs
- name: Move to pdfs branch