def data(dataset, hash=None): if hash: base_path = app.config['UPLOAD_FOLDER'] dataset = '{}_{}'.format(dataset, hash) else: base_path = VISUALIZATION_DIR #if app.config['USE_CELERY'] data = graph_layout( os.path.join(base_path, '{}.csv'.format(dataset)), os.path.join(base_path, '{}_node_data.csv'.format(dataset))) if "errors" in data.keys(): return jsonify(graph_ready=False, errors=data["errors"]) return jsonify(url=url_for('share', dataset=dataset, hash=hash), **data)
def upload_file(): #check if client reached quota if not check_quota(): return jsonify( graph_ready=False, errors= "Quota Reached. You can upload one edgelist every 10 minutes.") edge_file = request.files.get('file', None) data_file = request.files.get('nodefile', None) if edge_file and allowed_file(edge_file.filename): filename = secure_filename(edge_file.filename) hasher = hashlib.md5() hasher.update(edge_file.stream.read()) hash = hasher.hexdigest() dataset = filename.rsplit('.', 1)[0] filename = '{}_{}.csv'.format(dataset, hash) edge_file.stream.seek(0) path = os.path.join(app.config['UPLOAD_FOLDER'], filename) edge_file.save(path) ret = insert_file(path) else: return jsonify( graph_ready=False, errors='Invalid file uploaded. Only .csv files are supported') data_path = None if data_file and allowed_file(data_file.filename): data_path = os.path.join(app.config['UPLOAD_FOLDER'], '{}_{}_node_data.csv'.format(dataset, hash)) data_file.save(data_path) layout_algorithm = request.form.get('layout_algorithm', 'Fruchterman-Reingold') data = graph_layout(path, data_path, directed_graph=request.form.get('is_directed', 'true') == 'true', ly_alg=layout_algorithm) #print "dat",data if "errors" in data.keys(): print "ERRORS", data["errors"] return jsonify(graph_ready=False, errors=data["errors"]) return jsonify(url=url_for('share', dataset=dataset, hash=hash), **data)
def data(dataset, hash=None): if hash: base_path = app.config['UPLOAD_FOLDER'] dataset = '{}_{}'.format(dataset, hash) else: base_path = VISUALIZATION_DIR #if app.config['USE_CELERY'] data = graph_layout( os.path.join(base_path, '{}.csv'.format(dataset)), os.path.join(base_path, '{}_node_data.csv'.format(dataset)) ) if "errors" in data.keys(): return jsonify(graph_ready=False, errors=data["errors"]) return jsonify(url=url_for('share', dataset=dataset, hash=hash), **data)
def upload_file(): #check if client reached quota if not check_quota(): return jsonify(graph_ready=False, errors="Quota Reached. You can upload one edgelist every 10 minutes.") edge_file = request.files.get('file', None) data_file = request.files.get('nodefile', None) if edge_file and allowed_file(edge_file.filename): filename = secure_filename(edge_file.filename) hasher = hashlib.md5() hasher.update(edge_file.stream.read()) hash = hasher.hexdigest() dataset = filename.rsplit('.', 1)[0] filename = '{}_{}.csv'.format(dataset, hash) edge_file.stream.seek(0) path = os.path.join(app.config['UPLOAD_FOLDER'], filename) edge_file.save(path) ret = insert_file(path) else: return jsonify(graph_ready=False, errors='Invalid file uploaded. Only .csv files are supported') data_path = None if data_file and allowed_file(data_file.filename): data_path = os.path.join(app.config['UPLOAD_FOLDER'], '{}_{}_node_data.csv'.format(dataset, hash)) data_file.save(data_path) layout_algorithm = request.form.get('layout_algorithm', 'Fruchterman-Reingold') data = graph_layout(path, data_path, directed_graph=request.form.get('is_directed', 'true')=='true', ly_alg=layout_algorithm) #print "dat",data if "errors" in data.keys(): print "ERRORS",data["errors"] return jsonify(graph_ready=False, errors=data["errors"]) #es js = jsonify(url=url_for('share', dataset=dataset, hash=hash), dataset=dataset, hash=hash, **data) print js return js