refactor: planning

This commit is contained in:
mco-system
2023-04-16 18:38:01 +11:00
parent 45ea9077a4
commit 9d52c03cc8
8 changed files with 152 additions and 278 deletions

View File

@@ -24,7 +24,6 @@ class AppConfig:
# ------------------------------------------------------------------------------
logger = logging.getLogger('wsgi')
app = Flask(__name__)
minify(app=app, html=True, js=True, cssless=True)
# ------------------------------------------------------------------------------
# -- Local configuration
@@ -45,6 +44,8 @@ except Exception as err:
logger.critical("[{}] {}".format(err.__class__, str(err)))
sys.exit(1)
if app.local_config["log"]["root"]["level"] != "DEBUG":
minify(app=app, html=True, js=True, cssless=True)
# ------------------------------------------------------------------------------
# -- Tools
@@ -56,6 +57,15 @@ def page_not_found(err):
def get_slots():
return backend.get(endpoint=f"events/{app.local_config['pretalx']['event']}/schedules/{app.local_config['pretalx']['schedule']}").json()
def get_speaker_biography(name):
try:
speaker_info = backend.get(endpoint=f"events/{app.local_config['pretalx']['event']}/speakers/", params={"q": name}).json()
logging.info(speaker_info)
return speaker_info["results"][0]["biography"].strip()
except Exception as err:
logging.error(f"UnknownSpeakerError: {name}")
return None
# ------------------------------------------------------------------------------
# -- Custom filters
# ------------------------------------------------------------------------------
@@ -107,6 +117,9 @@ def index():
@app.route('/planning', methods=['GET'])
def planning():
slots = get_slots()
for slot in slots["slots"]:
for speaker in slot["speakers"]:
speaker["biography"] = get_speaker_biography(speaker["name"])
return render_template("planning.html",
slots=sorted(slots["slots"],
key=lambda slot: slot["slot"]["start"]),