diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2018-12-14 18:17:15 +0100 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2018-12-14 18:17:15 +0100 |
| commit | 2ee8cd6a77c3efed77e58d706f4ee76418770e54 (patch) | |
| tree | 402d6346c7ba36c9c1eea5b72e74736ba78f6a08 /megapixels | |
| parent | 38746f284b17400d4e2555509ea60df5912b824a (diff) | |
sub apis workin
Diffstat (limited to 'megapixels')
| -rw-r--r-- | megapixels/app/models/sql_factory.py | 11 | ||||
| -rw-r--r-- | megapixels/app/server/api.py | 15 |
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): |
