diff options
Diffstat (limited to 'animism-align/cli/app/controllers/annotation_controller.py')
| -rw-r--r-- | animism-align/cli/app/controllers/annotation_controller.py | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/animism-align/cli/app/controllers/annotation_controller.py b/animism-align/cli/app/controllers/annotation_controller.py index aed7310..78947a8 100644 --- a/animism-align/cli/app/controllers/annotation_controller.py +++ b/animism-align/cli/app/controllers/annotation_controller.py @@ -9,8 +9,16 @@ from app.controllers.crud_controller import CrudView class AnnotationView(CrudView): model = Annotation form = AnnotationForm + index_all = False + use_limit = False default_sort = "start_ts" + def where(self, query, args): + episode_id = args.get('episode_id', default=None) + if episode_id is not None: + query = query.filter(Annotation.episode_id == int(episode_id)) + return query + def on_create(self, session, form, item): if 'paragraph_id' in form: item.paragraph_id = form['paragraph_id'] @@ -46,8 +54,15 @@ class AnnotationView(CrudView): session.close() return { 'status': 'error', 'error': 'duration is invalid '} + try: + episode_id = float(request.json['episode_id']) + except: + print("Annotation splice: episode_id is undefined") + session.close() + return { 'status': 'error', 'error': 'episode_id is invalid '} + query = session.query(self.model) - query = query.filter(Annotation.start_ts > start_ts) + query = query.filter(Annotation.start_ts > start_ts, Annotation.episode_id == episode_id) items = query.all() print(f"{len(items)} annotations would be updated") |
