Skip to content

Commit 0a7d5e7

Browse files
committed
Merge branch 'add_project' of https://github.com/MichaelTamaki/cesium_web into add_project
2 parents 6fe9b4f + 3a5ec67 commit 0a7d5e7

File tree

4 files changed

+43
-4
lines changed

4 files changed

+43
-4
lines changed

cesium_app/handlers/dataset.py

+8
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
from os.path import join as pjoin
1111
import uuid
1212

13+
from ..tests.fixtures import create_test_dataset
14+
1315

1416
class DatasetHandler(BaseHandler):
1517
def _get_dataset(self, dataset_id):
@@ -89,3 +91,9 @@ def delete(self, dataset_id):
8991
d = self._get_dataset(dataset_id)
9092
d.delete_instance()
9193
return self.success(action='cesium/FETCH_DATASETS')
94+
95+
def example(self):
96+
project_id = self.get_argument('projectID')
97+
p = Project.get(Project.id == project_id)
98+
d = create_test_dataset(p, test=False)
99+
return self.success(d, 'cesium/FETCH_DATASETS')

cesium_app/tests/fixtures.py

+8-3
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ def create_test_project():
2929

3030

3131
@contextmanager
32-
def create_test_dataset(project, label_type='class'):
32+
def create_test_dataset(project, label_type='class', test=True):
3333
"""Create and yield test labeled dataset, then delete.
3434
3535
Params
@@ -54,12 +54,17 @@ def create_test_dataset(project, label_type='class'):
5454
tarball = shutil.copy2(tarball, cfg['paths']['upload_folder'])
5555
ts_paths = data_management.parse_and_store_ts_data(
5656
tarball, cfg['paths']['ts_data_folder'], header)
57-
d = m.Dataset.add(name='test_ds', project=project, file_uris=ts_paths)
57+
if test:
58+
name = 'test_ds'
59+
else:
60+
name = 'Example Dataset'
61+
d = m.Dataset.add(name=name, project=project, file_uris=ts_paths)
5862
d.save()
5963
try:
6064
yield d
6165
finally:
62-
d.delete_instance()
66+
if test:
67+
d.delete_instance()
6368

6469

6570
@contextmanager

public/scripts/Datasets.jsx

+5
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,11 @@ let DatasetForm = (props) => {
6363

6464
<SubmitButton label="Upload Dataset" disabled={submitting} />
6565
</Form>
66+
<button
67+
onClick={Action.createExampleDataset()}
68+
>
69+
Use Example Dataset
70+
</button>
6671

6772
<CesiumTooltip
6873
id="headerfileTooltip"

public/scripts/actions.jsx

+22-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export const HIDE_NEWPROJECT_FORM = 'cesium/HIDE_NEWPROJECT_FORM';
1616
export const FETCH_DATASETS = 'cesium/FETCH_DATASETS';
1717
export const RECEIVE_DATASETS = 'cesium/RECEIVE_DATASETS';
1818
export const UPLOAD_DATASET = 'cesium/UPLOAD_DATASET';
19+
export const CREATE_EXAMPLE_DATASET = 'cesium/CREATE_EXAMPLE_DATASET';
1920
export const DELETE_DATASET = 'cesium/DELETE_DATASET';
2021

2122
export const FETCH_FEATURES = 'cesium/FETCH_FEATURES';
@@ -203,6 +204,7 @@ export function uploadDataset(form) {
203204
);
204205
}
205206

207+
206208
// Download datasets
207209
export function fetchDatasets() {
208210
return dispatch =>
@@ -219,6 +221,7 @@ export function fetchDatasets() {
219221
);
220222
}
221223

224+
222225
// Receive list of projects
223226
function receiveDatasets(datasets) {
224227
return {
@@ -228,14 +231,32 @@ function receiveDatasets(datasets) {
228231
}
229232

230233

234+
// Create example dataset
235+
export function createExampleDataset() {
236+
return dispatch =>
237+
promiseAction(
238+
dispatch,
239+
CREATE_EXAMPLE_DATASET,
240+
241+
fetch('/dataset', { method: 'EXAMPLE' })
242+
.then(response => response.json())
243+
.then((json) => {
244+
dispatch(receiveDatasets(json.data));
245+
dispatch(hideExpander('newDatasetExpander'));
246+
dispatch(resetForm('newDataset'));
247+
}).catch(ex => console.log('createExampleDataset', ex))
248+
);
249+
}
250+
251+
231252
// Download featuresets
232253
export function fetchFeaturesets() {
233254
return dispatch =>
234255
promiseAction(
235256
dispatch,
236257
FETCH_FEATURESETS,
237258

238-
fetch('/features')
259+
fetch('/features',)
239260
.then(response => response.json())
240261
.then((json) => {
241262
if (json.status == 'success') {

0 commit comments

Comments
 (0)