summaryrefslogtreecommitdiff
path: root/megapixels/app
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2018-12-14 18:17:15 +0100
committerJules Laplace <julescarbon@gmail.com>2018-12-14 18:17:15 +0100
commit2ee8cd6a77c3efed77e58d706f4ee76418770e54 (patch)
tree402d6346c7ba36c9c1eea5b72e74736ba78f6a08 /megapixels/app
parent38746f284b17400d4e2555509ea60df5912b824a (diff)
sub apis workin
Diffstat (limited to 'megapixels/app')
-rw-r--r--megapixels/app/models/sql_factory.py11
-rw-r--r--megapixels/app/server/api.py15
2 files changed, 18 insertions, 8 deletions
diff --git a/megapixels/app/models/sql_factory.py b/megapixels/app/models/sql_factory.py
index 2a18d6af..e35c3e15 100644
--- a/megapixels/app/models/sql_factory.py
+++ b/megapixels/app/models/sql_factory.py
@@ -21,10 +21,7 @@ datasets = {}
loaded = False
def list_datasets():
- return [{
- 'name': name,
- 'tables': list(datasets[name].tables.keys()),
- } for name in datasets.keys()]
+ return [dataset.describe() for dataset in datasets.values()]
def get_dataset(name):
return datasets[name] if name in datasets else None
@@ -76,6 +73,12 @@ class SqlDataset:
base_model = declarative_base(engine)
self.base_model = base_model
+ def describe(self):
+ return {
+ 'name': self.name,
+ 'tables': list(self.tables.keys()),
+ }
+
def get_table(self, type):
if type in self.tables:
return self.tables[type]
diff --git a/megapixels/app/server/api.py b/megapixels/app/server/api.py
index e7db11f1..428c53b1 100644
--- a/megapixels/app/server/api.py
+++ b/megapixels/app/server/api.py
@@ -32,11 +32,18 @@ api = Blueprint('api', __name__)
def index():
return jsonify({ 'datasets': list_datasets() })
-@api.route('/dataset/<dataset>/test', methods=['POST'])
-def test(dataset='test'):
- dataset = get_dataset(dataset)
+@api.route('/dataset/<name>')
+def show(name):
+ dataset = get_dataset(name)
+ if dataset:
+ return jsonify(dataset.describe())
+ else:
+ return jsonify({ 'status': 404 })
+
+@api.route('/dataset/<name>/test', methods=['POST'])
+def test(name):
print('hiiiiii')
- return jsonify({ 'test': 'OK', 'dataset': dataset })
+ return jsonify({ 'test': 'OK', 'dataset': name })
# @router.route('/<dataset>/face', methods=['POST'])
# def upload(name):