def get_project(id): client = pymongo.MongoClient(app.mongodb_uri) project = client.nav.projects.find_one({'_id': ObjectId(id)}) if project: meta = { str(meta['_id']): meta for meta in client.networks.meta.find({'status': 'success'}) } try: networks = project['networks'] networks = {id: True for id in meta.iterkeys() if networks.get(id)} except KeyError: # include all genemania networks except co-expression for new projects networks = { id: True for id, it in meta.iteritems() if it['collection'] == 'genemania' and not it['type'] == 'co-expression' } project['networks'] = networks client.nav.projects.save(project) pre_return_value = serialize(project) return_value = dumps(pre_return_value) if (request.query.callback): response.content_type = "application/javascript" return "%s(%s);" % (request.query.callback, return_value) return pre_return_value #return serialize(project) else: return HTTPError(404)
def api_mongo_get(database, collection): limit = get_value('limit', 0, int) skip = get_value('skip', 0, int) client = pymongo.MongoClient(app.mongodb_uri) query = {k:v for k, v in request.query.iteritems() if not k == 'limit' and not k == 'skip'} cursor = client[database][collection].find(query) return { 'skip': skip, 'count': cursor.count(), 'records': [serialize(record) for record in cursor.limit(limit).skip(skip)] }
def create_project(): client = pymongo.MongoClient(app.mongodb_uri) project = { 'gene_list': [], 'include_neighbors': True, 'n_connected_neighbors': 20, 'n_hottest_neighbors': 20, 'do_heat_diffusion': False } set_status(project, 'created') project['_id'] = str(client.nav.projects.insert(project)) return serialize(project)
def get_jobs(id): client = pymongo.MongoClient(app.mongodb_uri) jobs = list(client.nav.jobs.find({'project._id': ObjectId(id)})) pre_return_value = {'records': serialize(jobs)} return_value = dumps(pre_return_value) if (request.query.callback): response.content_type = "application/javascript" return "%s(%s);" % (request.query.callback, return_value) return pre_return_value
def get_networks(): client = pymongo.MongoClient(app.mongodb_uri) pre_return_value = { 'networks': serialize(list(client.networks.meta.find({'status': 'success'}))) } return_value = dumps(pre_return_value) if (request.query.callback): response.content_type = "application/javascript" return "%s(%s);" % (request.query.callback, return_value) return pre_return_value
def api_mongo_get(database, collection): limit = get_value('limit', 0, int) skip = get_value('skip', 0, int) client = pymongo.MongoClient(app.mongodb_uri) query = { k: v for k, v in request.query.iteritems() if not k == 'limit' and not k == 'skip' } cursor = client[database][collection].find(query) return { 'skip': skip, 'count': cursor.count(), 'records': [serialize(record) for record in cursor.limit(limit).skip(skip)] }
def get_files(id): client = pymongo.MongoClient(app.mongodb_uri) project = client.nav.projects.find_one({'_id': ObjectId(id)}) try: files = list( client.files.meta.find( {'_id': { '$in': [f['_id'] for f in project.get('files', [])] }})) pre_return_value = {'records': serialize(files)} return_value = dumps(pre_return_value) if (request.query.callback): response.content_type = "application/javascript" return "%s(%s);" % (request.query.callback, return_value) return pre_return_value #return {'records': serialize(files)} except: return HTTPError(404)
def api_mongo_get_id(database, collection, id): client = pymongo.MongoClient(app.mongodb_uri) return serialize(client[database][collection].find_one({'_id': ObjectId(id)}))
def api_mongo_get_id(database, collection, id): client = pymongo.MongoClient(app.mongodb_uri) return serialize(client[database][collection].find_one( {'_id': ObjectId(id)}))