diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2020-06-02 17:38:14 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2020-06-02 17:38:14 +0200 |
| commit | f6d7fcbb50ef57f1f7d7ca8cacd711ffd576e600 (patch) | |
| tree | 9d6a4882d428da7098c4244f5ca56267afe8cc1b /cli | |
| parent | 5b480258322682fdc4fa987770df9e719315f167 (diff) | |
showing pages for graph. getting urls right
Diffstat (limited to 'cli')
| -rw-r--r-- | cli/app/controllers/graph_controller.py | 20 | ||||
| -rw-r--r-- | cli/app/controllers/page_controller.py | 2 | ||||
| -rw-r--r-- | cli/app/controllers/tile_controller.py | 4 | ||||
| -rw-r--r-- | cli/app/server/web.py | 1 |
4 files changed, 24 insertions, 3 deletions
diff --git a/cli/app/controllers/graph_controller.py b/cli/app/controllers/graph_controller.py index 25b49aa..3fa4cce 100644 --- a/cli/app/controllers/graph_controller.py +++ b/cli/app/controllers/graph_controller.py @@ -16,3 +16,23 @@ class GraphView(CrudView): for item in item.pages: session.query(Tile).filter(Tile.page_id == item.id).delete(synchronize_session=False) session.query(Page).filter(Page.graph_id == item.id).delete(synchronize_session=False) + + @route('/name/<path>', methods=['GET']) + def get_name(self, path: str): + """ + Fetch a single {model}. + """ + session = Session() + item = session.query(self.model).filter(self.model.path == path).first() + if not item: + session.close() + return jsonify({ + 'status': 'error', + 'error': 'item not found' + }) + result = { + 'status': 'ok', + 'res': item.toFullJSON() if hasattr(item, 'toFullJSON') else item.toJSON(), + } + session.close() + return jsonify(result) diff --git a/cli/app/controllers/page_controller.py b/cli/app/controllers/page_controller.py index d393625..1f53171 100644 --- a/cli/app/controllers/page_controller.py +++ b/cli/app/controllers/page_controller.py @@ -14,7 +14,7 @@ class PageView(CrudView): def where(self, query, args): graph_id = args.get('graph_id', default=None) if graph_id is not None: - query = query.where(Page.graph_id == int(graph_id)) + query = query.filter(Page.graph_id == int(graph_id)) return query def on_destroy(self, session, item): diff --git a/cli/app/controllers/tile_controller.py b/cli/app/controllers/tile_controller.py index fc36943..58fd6d0 100644 --- a/cli/app/controllers/tile_controller.py +++ b/cli/app/controllers/tile_controller.py @@ -13,8 +13,8 @@ class TileView(CrudView): def where(self, query, args): graph_id = args.get('graph_id', default=None) if graph_id is not None: - query = query.where(Tile.graph_id == int(graph_id)) + query = query.filter(Tile.graph_id == int(graph_id)) page_id = args.get('page_id', default=None) if page_id is not None: - query = query.where(Tile.page_id == int(page_id)) + query = query.filter(Tile.page_id == int(page_id)) return query diff --git a/cli/app/server/web.py b/cli/app/server/web.py index 739f271..83dbc24 100644 --- a/cli/app/server/web.py +++ b/cli/app/server/web.py @@ -30,6 +30,7 @@ def create_app(script_info=None): app = Flask(__name__, static_folder=app_cfg.DIR_STATIC, static_url_path='/static') app.config['SQLALCHEMY_DATABASE_URI'] = connection_url app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False + app.url_map.strict_slashes = False db.init_app(app) |
