diff --git a/common/lib/helpers.py b/common/lib/helpers.py
index a4d1bc31..7c63766b 100644
--- a/common/lib/helpers.py
+++ b/common/lib/helpers.py
@@ -46,6 +46,17 @@ def init_datasource(database, logger, queue, name):
"""
pass
+def get_datasource_example_keys(db, modules, dataset_type):
+ """
+ Get example keys for a datasource
+ """
+ from common.lib.dataset import DataSet
+ example_dataset_key = db.fetchone("SELECT key from datasets WHERE type = %s and is_finished = True and num_rows > 0 LIMIT 1", (dataset_type,))
+ if example_dataset_key:
+ example_dataset = DataSet(db=db, key=example_dataset_key["key"], modules=modules)
+ return example_dataset.get_columns()
+ return []
+
def strip_tags(html, convert_newlines=True):
"""
Strip HTML from a string
diff --git a/webtool/templates/data-overview.html b/webtool/templates/data-overview.html
index f31f2178..8b273d6a 100644
--- a/webtool/templates/data-overview.html
+++ b/webtool/templates/data-overview.html
@@ -95,6 +95,18 @@
Metadata
{% endif %}
+ {% if example_keys %}
+
+
DataSet keys
+
+
+ {% for key in example_keys %}
+ {{ key }}
+ {% endfor %}
+
+
+
+ {% endif %}
{% else %}
diff --git a/webtool/views/views_misc.py b/webtool/views/views_misc.py
index e179085c..fc9251f4 100644
--- a/webtool/views/views_misc.py
+++ b/webtool/views/views_misc.py
@@ -17,6 +17,7 @@
from webtool.views.views_dataset import create_dataset, show_results
from common.config_manager import ConfigWrapper
+from common.lib.helpers import get_datasource_example_keys
config = ConfigWrapper(config, user=current_user, request=request)
csv.field_size_limit(1024 * 1024 * 1024)
@@ -129,6 +130,7 @@ def data_overview(datasource=None):
daily_counts = None
references = None
labels = None
+ example_keys = None
if datasource:
@@ -156,6 +158,10 @@ def data_overview(datasource=None):
if hasattr(worker_class, "is_from_zeeschuimer"):
labels.append("zeeschuimer")
+ # Get example keys for the datasource
+ if datasource_id not in ["upload"]: # ignore upload as keys are variable
+ example_keys = get_datasource_example_keys(db=db, modules=fourcat_modules, dataset_type=datasource_id + "-search")
+
# Get daily post counts for local datasource to display in a graph
if is_local == "local":
@@ -185,7 +191,7 @@ def data_overview(datasource=None):
references = worker_class.references if hasattr(worker_class, "references") else None
- return render_template('data-overview.html', datasources=datasources, datasource_id=datasource_id, description=description, labels=labels, total_counts=total_counts, daily_counts=daily_counts, github_url=github_url, references=references)
+ return render_template('data-overview.html', datasources=datasources, datasource_id=datasource_id, description=description, labels=labels, total_counts=total_counts, daily_counts=daily_counts, github_url=github_url, references=references, example_keys=example_keys)
@app.route('/get-boards//')
@login_required