From 2ee8cd6a77c3efed77e58d706f4ee76418770e54 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Fri, 14 Dec 2018 18:17:15 +0100 Subject: sub apis workin --- megapixels/app/models/sql_factory.py | 11 +++++++---- megapixels/app/server/api.py | 15 +++++++++++---- 2 files changed, 18 insertions(+), 8 deletions(-) (limited to 'megapixels') 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//test', methods=['POST']) -def test(dataset='test'): - dataset = get_dataset(dataset) +@api.route('/dataset/') +def show(name): + dataset = get_dataset(name) + if dataset: + return jsonify(dataset.describe()) + else: + return jsonify({ 'status': 404 }) + +@api.route('/dataset//test', methods=['POST']) +def test(name): print('hiiiiii') - return jsonify({ 'test': 'OK', 'dataset': dataset }) + return jsonify({ 'test': 'OK', 'dataset': name }) # @router.route('//face', methods=['POST']) # def upload(name): -- cgit v1.2.3-70-g09d2