diff --git a/app.py b/app.py index 57d56e0..acf78fe 100755 --- a/app.py +++ b/app.py @@ -160,6 +160,7 @@ def save(item_id): @app.route("/property/P") def property_query_page(property_id): pid = f'P{property_id}' + g.title = find_more_props[pid] sort = request.args.get('sort') sort_by_name = sort and sort.lower().strip() == 'name' @@ -189,10 +190,9 @@ def property_query_page(property_id): has_label = sorted((row for row in rows if 'objectLabel' in row), key=lambda row: locale.strxfrm(row['objectLabel']['value'])) rows = has_label + no_label - label = find_more_props[pid] return render_template('property.html', - label=label, + label=g.title, order=('name' if sort_by_name else 'count'), pid=pid, rows=rows) @@ -674,6 +674,9 @@ def browse_page(): item_labels = get_labels(qid for pid, qid in params) + g.title = ' / '.join(find_more_props[pid] + ': ' + item_labels[qid] + for pid, qid in params) + bindings = filter_artwork(params) facets = get_facets(params) @@ -706,15 +709,12 @@ def browse_page(): cache_refreshed = True item['image'] = detail[image_filename] - title = ' / '.join(find_more_props[pid] + ': ' + item_labels[qid] - for pid, qid in params) - catalog_url = url_for('catalog_page', **dict(params)) return render_template('find_more.html', facets=facets, prop_labels=find_more_props, - label=title, + label=g.title, pager=pager, params=params, item_map=item_map, diff --git a/depicts/model.py b/depicts/model.py index de30b4a..5135853 100644 --- a/depicts/model.py +++ b/depicts/model.py @@ -111,6 +111,8 @@ class WikidataQuery(Base): error_text = Column(String) query_template = Column(String) row_count = Column(Integer) + page_title = Column(String) + endpoint = Column(String) @property def duration(self): diff --git a/depicts/wdqs.py b/depicts/wdqs.py index 362095b..00fe7eb 100644 --- a/depicts/wdqs.py +++ b/depicts/wdqs.py @@ -4,7 +4,7 @@ import urllib.parse import os import dateutil.parser import hashlib -from flask import request, render_template +from flask import request, render_template, g from collections import defaultdict from datetime import datetime from .model import WikidataQuery @@ -47,7 +47,9 @@ def record_query(query, query_template=None): start_time=start, sparql_query=query, path=request.full_path.rstrip('?'), - query_template=query_template) + query_template=query_template, + page_title=getattr(g, 'title', None), + endpoint=request.endpoint) database.session.add(db_query) database.session.commit() diff --git a/templates/query_list.html b/templates/query_list.html index a744d89..7a0d7eb 100644 --- a/templates/query_list.html +++ b/templates/query_list.html @@ -15,7 +15,7 @@
-
+
endpoint
template
when
rows
@@ -25,7 +25,7 @@ {% for obj in q %}
-
+
{{ obj.endpoint or '' }}
{{ obj.template or '' }}
@@ -61,8 +61,11 @@
+ +
+
{{ obj.page_title or '' }}