Publish?
Some checks failed
CI / Typst formatting (push) Successful in 15s
CI / Typos (push) Successful in 18s
CI / Build (push) Failing after 10m37s

This commit is contained in:
mark 2025-01-21 22:58:00 -08:00
parent eb1ee2c2cb
commit 77a3a558b5

View File

@ -18,21 +18,26 @@ SRC_DIR: Path = ROOT / "output"
def log(msg):
print(f"[PUBLISH.PY] {msg}")
log(f"Version is {VERSION}")
log(f"Package is is {PACKAGE}")
log(f"Running in {ROOT}")
if not ROOT.is_dir():
log("Root is not a directory, cannot continue")
exit(1)
log(f"Output dir is {SRC_DIR}")
log(f"Source dir is {SRC_DIR}")
if not SRC_DIR.exists():
log("Output dir doesn't exist, cannot continue")
log("Source dir doesn't exist, cannot continue")
exit(1)
IndexEntry = TypedDict(
"IndexEntry",
{"title": str, "group": str, "handout_file": str, "solutions_file": str | None},
def upload(data, target: string):
requests.put(
f"{URL}/api/packages/{USER}/generic/{PACKAGE}/{VERSION}/{target}",
auth=AUTH,
data=data
)
return f"{URL}/api/packages/{USER}/generic/ormc-handouts/{VERSION}/{target}"
index = SRC_DIR / "index.json"
with index.open("r") as f:
@ -48,24 +53,16 @@ for handout in index:
h_url = None
s_url = None
target = f"{group} - {title}.pdf"
requests.put(
f"{URL}/api/packages/{USER}/generic/{PACKAGE}/{VERSION}/{target}",
auth=AUTH,
data=h_file.open('rb').read()
h_url = upload(
h_file.open('rb').read(),
f"{group} - {title}.pdf"
)
h_url = f"{URL}/api/packages/{USER}/generic/ormc-handouts/{VERSION}/{target}"
if s_file is not None:
target = f"{group} - {title}.sols.pdf"
requests.put(
f"{URL}/api/packages/{USER}/generic/{PACKAGE}/{VERSION}/{target}",
auth=AUTH,
data=s_file.open('rb').read()
s_url = upload(
s_file.open('rb').read(),
f"{group} - {title}.sols.pdf"
)
s_url = f"{URL}/api/packages/{USER}/generic/ormc-handouts/{VERSION}/{target}"
log(f"Published {title}")
@ -76,8 +73,7 @@ for handout in index:
"solutions": s_url
})
requests.put(
f"{URL}/api/packages/{USER}/generic/{PACKAGE}/{VERSION}/index.json",
auth=AUTH,
data=json.dumps(new_index)
upload(
json.dumps(new_index),
"index.json"
)