core library (#711)

* move app creation to function

* create engine without load

* flake 8 fixes

* cleanup original scanpy test

* add default config

* handle missing data

* test data changes

* unify update

* load data isn't static anymore

* make app a class
This commit is contained in:
Charlotte Weaver
2019-04-22 12:24:07 -07:00
committed by GitHub
parent 1f735abe2b
commit 9c6273eb94
10 changed files with 171 additions and 60 deletions
+13
View File
@@ -1,6 +1,10 @@
from functools import wraps
from flask import json
from numpy import float32, integer
from server.app.util.errors import DriverError
class Float32JSONEncoder(json.JSONEncoder):
def __init__(self, *args, **kwargs):
@@ -28,3 +32,12 @@ def custom_format_warning(msg, *args, **kwargs):
def jsonify_scanpy(data):
return json.dumps(data, cls=Float32JSONEncoder, allow_nan=False)
def requires_data(func):
@wraps(func)
def wrapped_function(self, *args, **kwargs):
if self.data is None:
raise DriverError(f"error data must be loaded before you call {func.__name__}")
return func(self, *args, **kwargs)
return wrapped_function