diff --git a/cesium_app/handlers/dataset.py b/cesium_app/handlers/dataset.py
index 418a989..3f3d2dd 100644
--- a/cesium_app/handlers/dataset.py
+++ b/cesium_app/handlers/dataset.py
@@ -5,6 +5,7 @@
from cesium import data_management, time_series
from cesium.util import shorten_fname
+from ..tests.fixtures import create_test_dataset
import os
from os.path import join as pjoin
@@ -24,6 +25,12 @@ def _get_dataset(self, dataset_id):
return d
def post(self):
+ if self.get_argument('create_example') == 'true':
+ project_id = self.get_argument('projectID')
+ p = Project.get(Project.id == project_id)
+ with create_test_dataset(p, delete_after=False) as d:
+ return self.success(d, 'cesium/FETCH_DATASETS')
+
if not 'tarFile' in self.request.files:
return self.error('No tar file uploaded')
diff --git a/cesium_app/tests/fixtures.py b/cesium_app/tests/fixtures.py
index a4f5578..e12590d 100644
--- a/cesium_app/tests/fixtures.py
+++ b/cesium_app/tests/fixtures.py
@@ -29,7 +29,7 @@ def create_test_project():
@contextmanager
-def create_test_dataset(project, label_type='class'):
+def create_test_dataset(project, label_type='class', delete_after=True):
"""Create and yield test labeled dataset, then delete.
Params
@@ -57,12 +57,16 @@ def create_test_dataset(project, label_type='class'):
tarball = shutil.copy2(tarball, cfg['paths']['upload_folder'])
ts_paths = data_management.parse_and_store_ts_data(
tarball, cfg['paths']['ts_data_folder'], header)
- d = m.Dataset.add(name='test_ds', project=project, file_uris=ts_paths)
+
+ name = 'Example Dataset'
+ d = m.Dataset.add(name=name, project=project, file_uris=ts_paths)
d.save()
+
try:
yield d
finally:
- d.delete_instance()
+ if delete_after:
+ d.delete_instance()
@contextmanager
diff --git a/public/scripts/Datasets.jsx b/public/scripts/Datasets.jsx
index b348dfe..d5fe22f 100644
--- a/public/scripts/Datasets.jsx
+++ b/public/scripts/Datasets.jsx
@@ -63,6 +63,11 @@ let DatasetForm = (props) => {
+