conference-archive/scripts/add_conference_urls.py

56 lines
1.4 KiB
Python
Executable file

#!/usr/bin/python3
import os
import json
from confarchive import database, model
from confarchive.view import app
app.config.from_object("config.default")
database.init_app(app)
def url_from_giggty_menu() -> None:
for conf in model.Conference.query.order_by(model.Conference.short_name):
if conf.url:
continue
giggity_menu = "giggity/menu/"
menu_filename = os.path.join(giggity_menu, conf.short_name + ".json")
if not os.path.exists(menu_filename):
continue
menu = json.load(open(menu_filename))
links = {link["title"]: link["url"] for link in menu["metadata"]["links"]}
if "Website" not in links:
continue
print(json.dumps(links, indent=2))
url = links["Website"]
print(conf.short_name, menu_filename, url)
conf.url = url
database.session.commit()
def add_more_urls() -> None:
for conf in model.Conference.query.order_by(model.Conference.short_name):
if conf.url:
continue
if conf.short_name.startswith("debconf"):
conf.url = f"https://{conf.short_name}.debconf.org/"
print(conf.short_name, conf.url)
if conf.short_name.startswith("fosdem"):
year = conf.short_name[-4:]
conf.url = f"https://fosdem.org/{year}/"
print(conf.short_name, conf.url)
database.session.commit()
add_more_urls()