def show_shoreline(shoreline_id, format=None): if format is None: format = 'html' shoreline = db.Shoreline.find_one( { '_id' : shoreline_id } ) if format == 'html': markers = shoreline.google_maps_coordinates() return render_template('show_shoreline.html', shoreline=shoreline, markers=markers) elif format == 'json': jsond = json.loads(shoreline.to_json()) remove_mongo_keys(jsond) #destructive method jsond['_id'] = unicode(shoreline._id) return jsonify( jsond ) else: flash("Reponse format '%s' not supported" % format) return redirect(url_for('shorelines'))
def show_dataset(dataset_id, format=None): if format is None: format = 'html' dataset = db.Dataset.find_one( { '_id' : dataset_id } ) if format == 'html': variables = json.dumps(dataset.variables, sort_keys=True, indent=4) markers = dataset.google_maps_coordinates() return render_template('show_dataset.html', dataset=dataset, markers=markers, variables=variables) elif format == 'json': jsond = json.loads(dataset.to_json()) remove_mongo_keys(jsond) #destructive method jsond['_id'] = unicode(dataset._id) return jsonify( jsond ) else: flash("Reponse format '%s' not supported" % format) return redirect(url_for('datasets'))
def shorelines(format=None): if format is None: format = 'html' shorelines = db.Shoreline.find().sort('created', DESCENDING) if format == 'html': return render_template('shorelines.html', shorelines=shorelines) elif format == 'json': jsonsl = [] for sl in shorelines: js = json.loads(sl.to_json()) remove_mongo_keys(js) js['_id'] = unicode(sl._id) jsonsl.append(js) return jsonify( { 'results' : jsonsl } ) else: flash("Response format '%s' not supported" % format) return redirect(url_for('shorelines'))
def datasets(format=None): if format is None: format = 'html' datasets = db.Dataset.find() if format == 'html': return render_template('datasets.html', datasets=datasets) elif format == 'json': jsond = [] for ds in datasets: js = json.loads(ds.to_json()) remove_mongo_keys(js) js['_id'] = unicode(ds._id) jsond.append(js) return jsonify( { 'results' : jsond } ) else: flash("Response format '%s' not supported" % format) return redirect(url_for('datasets'))
def runs(format=None): if format is None: format = 'html' runs = db.Run.find().sort('created', DESCENDING) if format == 'html': return render_template('runs.html', runs=runs) elif format == 'json': jsond = [] for run in runs: js = json.loads(run.to_json()) remove_mongo_keys(js, extra=['output', 'cached_behavior', 'task_result', 'task_id']) js['_id'] = unicode(run._id) js['status'] = unicode(run.status()) js['output'] = list(run.output_files()) jsond.append(js) return jsonify( { 'results' : jsond } ) else: flash("Reponse format '%s' not supported" % format) return redirect(url_for('runs'))
def show_run(run_id, format=None): if format is None: format = 'html' run = db.Run.find_one( { '_id' : run_id } ) if format == 'html': markers = run.google_maps_coordinates() linestring = run.google_maps_trackline() run_config = json.dumps(run.run_config(), sort_keys=True, indent=4) cached_behavior = json.dumps(run.cached_behavior, sort_keys=True, indent=4) return render_template('show_run.html', run=run, run_config=run_config, cached_behavior=cached_behavior, line=linestring, markers=markers) elif format == 'json': jsond = json.loads(run.to_json()) remove_mongo_keys(jsond, extra=['output', 'task_result', 'task_id']) jsond['_id'] = unicode(run._id) jsond['status'] = unicode(run.status()) jsond['output'] = list(run.output_files()) return jsonify( jsond ) else: flash("Reponse format '%s' not supported" % format, 'warning') return redirect(url_for('runs'))