コード例 #1
0
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'))
コード例 #2
0
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'))
コード例 #3
0
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'))
コード例 #4
0
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'))
コード例 #5
0
ファイル: run.py プロジェクト: asascience-open/larva-service
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'))
コード例 #6
0
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'))