diff --git a/app.py b/app.py index 61b222a..dd2c4f2 100755 --- a/app.py +++ b/app.py @@ -400,6 +400,7 @@ def get_institution(entity, other): @app.route("/item/Q") def item_page(item_id): qid = f'Q{item_id}' + g.qid = qid item = artwork.Artwork(qid) from_redirect = qid in session and session.pop(qid) == 'from redirect' entity = mediawiki.get_entity_with_cache(qid, refresh=not from_redirect) @@ -423,6 +424,7 @@ def item_page(item_id): label = label_and_language['label'] else: label = None + g.label = label other = get_other(item.entity) people = human.from_name(label) if label else None diff --git a/depicts/error_mail.py b/depicts/error_mail.py index 5c24f30..d45b1e3 100644 --- a/depicts/error_mail.py +++ b/depicts/error_mail.py @@ -1,15 +1,23 @@ import logging from logging.handlers import SMTPHandler from logging import Formatter -from flask import request +from flask import request, g PROJECT = 'depicts' class MatcherSMTPHandler(SMTPHandler): def getSubject(self, record): # noqa: N802 - return (f'{PROJECT} error: {record.exc_info[0].__name__}' - if (record.exc_info and record.exc_info[0]) - else f'{PROJECT} error: {record.pathname}:{record.lineno:d}') + subject = (f'{PROJECT} error: {record.exc_info[0].__name__}' + if (record.exc_info and record.exc_info[0]) + else f'{PROJECT} error: {record.pathname}:{record.lineno:d}') + + if qid := getattr(g, 'qid', None): + subject += f' {qid}' + + if label := getattr(g, 'label', None): + subject += f': {label}' + + return subject class RequestFormatter(Formatter): def format(self, record):