Skip to content
This repository was archived by the owner on Feb 23, 2022. It is now read-only.
2 changes: 1 addition & 1 deletion client/src/views/WorkspaceDetail.vue
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ export default {
fileList : null,
fileTypes: {
csv: {extension: ['csv'], queryCall: 'bulk'},
newick: {extension: ['phy'], queryCall: 'tree'}
newick: {extension: ['phy'], queryCall: 'newick'}
},
selectedType: null,
}
Expand Down
29 changes: 18 additions & 11 deletions multinet/multinet/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,29 @@
from .schema import schema
from . import db


def graphql_query(query):
result = graphql(schema, query)
if result:
errors= [error.message for error in result.errors] if result.errors else []
logprint("Errors in request: %s" % len(errors), level=logging.WARNING)
for error in errors[:10]:
logprint(error, level=logging.WARNING)
else:
errors = []
return dict(data=result.data, errors=errors)


class MultiNet(Resource):
def __init__(self, port):
super(MultiNet, self).__init__()
self.resourceName = 'multinet'
self.arango_port = port
self.route('POST', ('graphql',), self.graphql)
self.route('POST', ('bulk', ':workspace', ':table'), self.bulk)
self.route('POST', ('tree', ':workspace', ':table'), self.tree)
self.route('POST', ('csv', ':workspace', ':table'), self.bulk)

# Newick tree operations.
self.route('POST', ('newick', ':workspace', ':table'), self.tree)

@access.public
@autoDescribeRoute(
Expand All @@ -34,15 +49,7 @@ def graphql(self, params):
query = getBodyJson()['query']
logprint('request: %s' % query, level=logging.DEBUG)

result = graphql(schema, query)
if result:
errors= [error.message for error in result.errors] if result.errors else []
logprint("Errors in request: %s" % len(errors), level=logging.WARNING)
for error in errors[:10]:
logprint(error, level=logging.WARNING)
else:
errors = []
return dict(data=result.data, errors=errors)
return graphql_query(query)

@access.public
@autoDescribeRoute(
Expand Down
8 changes: 6 additions & 2 deletions multinet/multinet/db.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from girder import logprint
from arango import ArangoClient

from multinet.types import Row, Entity
from multinet.types import Row, Entity, Cursor

def with_client(fun):
def wrapper(*args, **kwargs):
Expand Down Expand Up @@ -60,7 +60,11 @@ def nodes(query, cursor, arango=None):
graph = workspace.graph(query.graph)
if query.entity_type:
if query.id:
return [Entity(query.workspace, query.graph, query.entity_type, workspace.collection(query.entity_type).get(query.id))], 1
result = workspace.collection(query.entity_type).get(query.id)
if result is not None:
return [Entity(query.workspace, query.graph, query.entity_type, workspace.collection(query.entity_type).get(query.id))], 1
else:
return [], 0
else:
tables = [workspace.collection(query.entity_type)]
else:
Expand Down