def show_users(): try: users = db.session.execute('SELECT id from "user"').fetchall() user_ids = [row[0] for row in users] return jsonify(users=user_ids) except: db.session.rollback() return jsonify({users: []})
def get_file(user_id, file_id): if request.method == 'GET': return to_json(File.query.get(file_id)) else: db.session.delete(File.query.get(file_id)) db.session.commit() return jsonify({'success': True})
def upload(id): if request.method == 'GET': return to_json(User.query.get(id).files) else: """Upload a file""" uploaded_file = request.files['file'] if uploaded_file is not None: filename = secure_filename(uploaded_file.filename) uploaded_file.save(os.path.join('tmp', filename)) date = request.form.get('lastModifiedDate') date_parts = date.split(' ') parsed_date = ' '.join(date_parts[0:-2]) _file = File(name=filename, size=request.form.get('bytes'), modified_at=parsed_date, user=g.current_user) db.session.add(_file) db.session.commit() split_file(_file) return to_json(_file) return jsonify({})
def to_json(obj): _visited_objs = [] def recurse(model): if isinstance(model.__class__, DeclarativeMeta): if model in _visited_objs: return None _visited_objs.append(model) fields = dict() for field in [x for x in dir(model) if not x.startswith('_') and x not in ['metadata', 'query', 'query_class']]: v = model.__getattribute__(field) if isinstance(v, list) and len(v) > 0 and isinstance(v[0].__class__, DeclarativeMeta): child_list = [] for child in v: child_list.append(recurse(child)) fields[field] = child_list else: fields[field] = recurse(v) return fields return model return jsonify(recurse(obj))