summaryrefslogtreecommitdiff
path: root/animism-align
diff options
context:
space:
mode:
Diffstat (limited to 'animism-align')
-rw-r--r--animism-align/cli/app/controllers/annotation_controller.py36
-rw-r--r--animism-align/frontend/app/views/align/align.container.js4
-rw-r--r--animism-align/frontend/app/views/align/components/annotations/annotation.index.js7
-rw-r--r--animism-align/frontend/app/views/align/containers/script.container.js7
4 files changed, 39 insertions, 15 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)
diff --git a/animism-align/frontend/app/views/align/align.container.js b/animism-align/frontend/app/views/align/align.container.js
index 7b19536..6f58fc2 100644
--- a/animism-align/frontend/app/views/align/align.container.js
+++ b/animism-align/frontend/app/views/align/align.container.js
@@ -1,7 +1,4 @@
import React, { Component } from 'react'
-import { Route } from 'react-router-dom'
-import { bindActionCreators } from 'redux'
-import { connect } from 'react-redux'
import './align.css'
import './components/annotations/annotation.form.css'
@@ -9,7 +6,6 @@ import './components/annotations/annotation.index.css'
import Timeline from 'app/views/align/containers/timeline.container.js'
import Script from 'app/views/align/containers/script.container.js'
-import actions from 'app/actions'
class Container extends Component {
componentDidMount() {
diff --git a/animism-align/frontend/app/views/align/components/annotations/annotation.index.js b/animism-align/frontend/app/views/align/components/annotations/annotation.index.js
index 44b27d7..b42f1ee 100644
--- a/animism-align/frontend/app/views/align/components/annotations/annotation.index.js
+++ b/animism-align/frontend/app/views/align/components/annotations/annotation.index.js
@@ -32,7 +32,7 @@ class AnnotationIndex extends PureComponent {
let secondsPerPixel = ZOOM_STEPS[zoom] * 0.1 // 0.1 sec / step
let widthTimeDuration = INNER_HEIGHT * secondsPerPixel // secs per pixel
- let timeMin = start_ts - 50.0
+ let timeMin = start_ts - 60.0
let timeMax = Math.min(start_ts + widthTimeDuration, duration)
const items = order.filter(id => {
@@ -121,7 +121,4 @@ const mapStateToProps = state => ({
media: state.media.index.lookup,
})
-const mapDispatchToProps = dispatch => ({
-})
-
-export default connect(mapStateToProps, mapDispatchToProps)(AnnotationIndex)
+export default connect(mapStateToProps)(AnnotationIndex)
diff --git a/animism-align/frontend/app/views/align/containers/script.container.js b/animism-align/frontend/app/views/align/containers/script.container.js
index fe3f27b..7433edc 100644
--- a/animism-align/frontend/app/views/align/containers/script.container.js
+++ b/animism-align/frontend/app/views/align/containers/script.container.js
@@ -38,13 +38,8 @@ class Timeline extends Component {
}
}
-
const mapStateToProps = state => ({
text: state.site.text,
})
-const mapDispatchToProps = dispatch => ({
- // alignActions: bindActionCreators({ ...alignActions }, dispatch),
-})
-
-export default connect(mapStateToProps, mapDispatchToProps)(Timeline)
+export default connect(mapStateToProps)(Timeline)