#!/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()