diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2020-10-12 18:38:42 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2020-10-12 18:38:42 +0200 |
| commit | 4368c66b4efddbda87335c42d82dc562629bd0e9 (patch) | |
| tree | 1b09a26108966388bc57ea2217a0f7bea588ce7a /animism-align/cli | |
| parent | 3fbc92d236e243ad23b0bba8aa7399ea2384b1cd (diff) | |
adding splice function
Diffstat (limited to 'animism-align/cli')
| -rw-r--r-- | animism-align/cli/app/controllers/annotation_controller.py | 36 |
1 files changed, 36 insertions, 0 deletions
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) |
