From 1a7370c19a7eed6a5f0f48e270092f9b3caebbc1 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Mon, 1 Jun 2020 16:22:18 +0200 Subject: models and controllers --- cli/app/controllers/collection_controller.py | 20 -------------------- cli/app/controllers/graph_controller.py | 18 ++++++++++++++++++ cli/app/controllers/page_controller.py | 15 +++++++++++++++ cli/app/controllers/tile_controller.py | 11 +++++++++++ 4 files changed, 44 insertions(+), 20 deletions(-) delete mode 100644 cli/app/controllers/collection_controller.py create mode 100644 cli/app/controllers/graph_controller.py create mode 100644 cli/app/controllers/page_controller.py create mode 100644 cli/app/controllers/tile_controller.py (limited to 'cli/app/controllers') diff --git a/cli/app/controllers/collection_controller.py b/cli/app/controllers/collection_controller.py deleted file mode 100644 index 7206bd8..0000000 --- a/cli/app/controllers/collection_controller.py +++ /dev/null @@ -1,20 +0,0 @@ -from flask import request, jsonify, redirect -from flask_classful import route -from werkzeug.datastructures import MultiDict - -from app.sql.common import db, Session -from app.sql.models.collection import Collection, CollectionForm, getMediaCounts -from app.controllers.crud_controller import CrudView - -from app.data.export import export_zip - -class CollectionView(CrudView): - model = Collection - form = CollectionForm - - def on_index(self, session, data): - data['counts'] = getMediaCounts(session) - return data - - def on_destroy(self, session, item): - session.query(CollectionMedia).filter(CollectionMedia.collection_id == item.id).delete(synchronize_session=False) diff --git a/cli/app/controllers/graph_controller.py b/cli/app/controllers/graph_controller.py new file mode 100644 index 0000000..25b49aa --- /dev/null +++ b/cli/app/controllers/graph_controller.py @@ -0,0 +1,18 @@ +from flask import request, jsonify, redirect +from flask_classful import route +from werkzeug.datastructures import MultiDict + +from app.sql.common import db, Session +from app.sql.models.graph import Graph, GraphForm +from app.sql.models.page import Page +from app.sql.models.tile import Tile +from app.controllers.crud_controller import CrudView + +class GraphView(CrudView): + model = Graph + form = GraphForm + + def on_destroy(self, session, item): + 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) diff --git a/cli/app/controllers/page_controller.py b/cli/app/controllers/page_controller.py new file mode 100644 index 0000000..5263cf0 --- /dev/null +++ b/cli/app/controllers/page_controller.py @@ -0,0 +1,15 @@ +from flask import request, jsonify, redirect +from flask_classful import route +from werkzeug.datastructures import MultiDict + +from app.sql.common import db, Session +from app.sql.models.page import Page, PageForm +from app.sql.models.tile import Tile +from app.controllers.crud_controller import CrudView + +class PageView(CrudView): + model = Page + form = PageForm + + def on_destroy(self, session, item): + session.query(Tile).filter(Tile.page_id == item.id).delete(synchronize_session=False) diff --git a/cli/app/controllers/tile_controller.py b/cli/app/controllers/tile_controller.py new file mode 100644 index 0000000..c47237b --- /dev/null +++ b/cli/app/controllers/tile_controller.py @@ -0,0 +1,11 @@ +from flask import request, jsonify, redirect +from flask_classful import route +from werkzeug.datastructures import MultiDict + +from app.sql.common import db, Session +from app.sql.models.tile import Tile, TileForm +from app.controllers.crud_controller import CrudView + +class TileView(CrudView): + model = Tile + form = TileForm -- cgit v1.2.3-70-g09d2