From 4368c66b4efddbda87335c42d82dc562629bd0e9 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Mon, 12 Oct 2020 18:38:42 +0200 Subject: adding splice function --- .../cli/app/controllers/annotation_controller.py | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'animism-align/cli') diff --git a/animism-align/cli/app/controllers/annotation_controller.py b/animism-align/cli/app/controllers/annotation_controller.py index cd70d80..757f1e3 100644 --- a/animism-align/cli/app/controllers/annotation_controller.py +++ b/animism-align/cli/app/controllers/annotation_controller.py @@ -26,3 +26,39 @@ class AnnotationView(CrudView): item.start_ts = form['start_ts'] if 'settings' in form: item.settings = form['settings'] + + def splice(self): + """Add or remove time""" + session = Session() + + try: + start_ts = float(args.get('start_ts')) + except: + print("Annotation splice: duration is invalid") + session.close() + return + + try: + duration = float(args.get('duration')) + except: + print("Annotation splice: duration is invalid") + session.close() + return + + query = session.query(self.model) + query = query.filter(Annotation.start_ts > form['start_ts']) + items = query.all() + + print(f"{len(items)} annotations would be updated") + + for item in items: + item.start_ts += duration + # session.add(item) + # session.commit() + + res = { + 'status': 'ok', + 'items': len(items), + } + session.close() + return jsonify(res) -- cgit v1.2.3-70-g09d2