summaryrefslogtreecommitdiff
path: root/animism-align/cli
diff options
context:
space:
mode:
Diffstat (limited to 'animism-align/cli')
-rw-r--r--animism-align/cli/app/controllers/__pycache__/crud_controller.cpython-37.pycbin3968 -> 4047 bytes
-rw-r--r--animism-align/cli/app/controllers/annotation_controller.py (renamed from animism-align/cli/app/controllers/timestamp_controller.py)10
-rw-r--r--animism-align/cli/app/controllers/paragraph_controller.py18
-rw-r--r--animism-align/cli/app/server/web.py4
-rw-r--r--animism-align/cli/app/sql/__pycache__/common.cpython-37.pycbin910 -> 0 bytes
-rw-r--r--animism-align/cli/app/sql/__pycache__/env.cpython-37.pycbin1701 -> 0 bytes
-rw-r--r--animism-align/cli/app/sql/common.py2
-rw-r--r--animism-align/cli/app/sql/env.py2
-rw-r--r--animism-align/cli/app/sql/models/annotation.py (renamed from animism-align/cli/app/sql/models/timestamp.py)10
-rw-r--r--animism-align/cli/app/sql/versions/202007041633_create_database.py (renamed from animism-align/cli/app/sql/versions/202006271347_add_paragraphs.py)14
10 files changed, 40 insertions, 20 deletions
diff --git a/animism-align/cli/app/controllers/__pycache__/crud_controller.cpython-37.pyc b/animism-align/cli/app/controllers/__pycache__/crud_controller.cpython-37.pyc
index 7f7d98d..e28baa6 100644
--- a/animism-align/cli/app/controllers/__pycache__/crud_controller.cpython-37.pyc
+++ b/animism-align/cli/app/controllers/__pycache__/crud_controller.cpython-37.pyc
Binary files differ
diff --git a/animism-align/cli/app/controllers/timestamp_controller.py b/animism-align/cli/app/controllers/annotation_controller.py
index d4cef82..8d91d1c 100644
--- a/animism-align/cli/app/controllers/timestamp_controller.py
+++ b/animism-align/cli/app/controllers/annotation_controller.py
@@ -3,14 +3,12 @@ from flask_classful import route
from werkzeug.datastructures import MultiDict
from app.sql.common import db, Session
-from app.sql.models.graph import Timestamp, TimestampForm
-from app.sql.models.page import Page
-from app.sql.models.tile import Tile
+from app.sql.models.annotation import Annotation, AnnotationForm
from app.controllers.crud_controller import CrudView
-class TimestampView(CrudView):
- model = Timestamp
- form = TimestampForm
+class AnnotationView(CrudView):
+ model = Annotation
+ form = AnnotationForm
default_sort = "start_ts"
def on_create(self, session, form, item):
diff --git a/animism-align/cli/app/controllers/paragraph_controller.py b/animism-align/cli/app/controllers/paragraph_controller.py
new file mode 100644
index 0000000..8056f51
--- /dev/null
+++ b/animism-align/cli/app/controllers/paragraph_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.paragraph import Paragraph, ParagraphForm
+from app.controllers.crud_controller import CrudView
+
+class ParagraphView(CrudView):
+ model = Paragraph
+ form = ParagraphForm
+ default_sort = "start_ts"
+
+ def on_create(self, session, form, item):
+ item.settings = form['settings']
+
+ def on_update(self, session, form, item):
+ item.settings = form['settings']
diff --git a/animism-align/cli/app/server/web.py b/animism-align/cli/app/server/web.py
index c3a812a..8c7bbc2 100644
--- a/animism-align/cli/app/server/web.py
+++ b/animism-align/cli/app/server/web.py
@@ -16,6 +16,8 @@ from flask import Flask, Blueprint, send_from_directory, request
from app.sql.common import db, connection_url
from app.settings import app_cfg
+from app.controllers.annotation_controller import AnnotationView
+from app.controllers.paragraph_controller import ParagraphView
from app.controllers.upload_controller import UploadView
def create_app(script_info=None):
@@ -32,6 +34,8 @@ def create_app(script_info=None):
db.init_app(app)
+ AnnotationView.register(app, route_prefix='/api/v1/')
+ ParagraphView.register(app, route_prefix='/api/v1/')
UploadView.register(app, route_prefix='/api/v1/')
index_html = 'index.html'
diff --git a/animism-align/cli/app/sql/__pycache__/common.cpython-37.pyc b/animism-align/cli/app/sql/__pycache__/common.cpython-37.pyc
deleted file mode 100644
index f995f96..0000000
--- a/animism-align/cli/app/sql/__pycache__/common.cpython-37.pyc
+++ /dev/null
Binary files differ
diff --git a/animism-align/cli/app/sql/__pycache__/env.cpython-37.pyc b/animism-align/cli/app/sql/__pycache__/env.cpython-37.pyc
deleted file mode 100644
index 96f3d85..0000000
--- a/animism-align/cli/app/sql/__pycache__/env.cpython-37.pyc
+++ /dev/null
Binary files differ
diff --git a/animism-align/cli/app/sql/common.py b/animism-align/cli/app/sql/common.py
index d79bc06..f291daa 100644
--- a/animism-align/cli/app/sql/common.py
+++ b/animism-align/cli/app/sql/common.py
@@ -31,6 +31,6 @@ Base.metadata.bind = engine
db = SQLAlchemy()
# include the models in reverse dependency order, so relationships work
-from app.sql.models.timestamp import Timestamp
+from app.sql.models.annotation import Annotation
from app.sql.models.paragraph import Paragraph
from app.sql.models.upload import Upload
diff --git a/animism-align/cli/app/sql/env.py b/animism-align/cli/app/sql/env.py
index af21e0e..0defa88 100644
--- a/animism-align/cli/app/sql/env.py
+++ b/animism-align/cli/app/sql/env.py
@@ -14,7 +14,7 @@ config.set_main_option("sqlalchemy.url", connection_url)
target_metadata = Base.metadata
# include the models in reverse dependency order, so relationships work
-from app.sql.models.timestamp import Timestamp
+from app.sql.models.annotation import Annotation
from app.sql.models.paragraph import Paragraph
from app.sql.models.upload import Upload
diff --git a/animism-align/cli/app/sql/models/timestamp.py b/animism-align/cli/app/sql/models/annotation.py
index c2bf410..6cc476c 100644
--- a/animism-align/cli/app/sql/models/timestamp.py
+++ b/animism-align/cli/app/sql/models/annotation.py
@@ -9,15 +9,15 @@ from app.sql.common import db, Base, Session
from app.settings import app_cfg
-class Timestamp(Base):
+class Annotation(Base):
"""Table for storing references to graphs"""
- __tablename__ = 'timestamp'
+ __tablename__ = 'annotation'
id = Column(Integer, primary_key=True)
type = Column(String(16, convert_unicode=True), nullable=False)
paragraph_id = Column(Integer, ForeignKey('paragraph.id'), nullable=True)
start_ts = Column(Float, nullable=False)
end_ts = Column(Float, nullable=True)
- sentence = Column(Text(convert_unicode=True), nullable=True)
+ text = Column(Text(convert_unicode=True), nullable=True)
settings = Column(JSON, default={}, nullable=True)
def toJSON(self):
@@ -31,9 +31,9 @@ class Timestamp(Base):
'settings': self.settings,
}
-class TimestampForm(ModelForm):
+class AnnotationForm(ModelForm):
class Meta:
- model = Timestamp
+ model = Annotation
exclude = ['settings']
def get_session():
return Session()
diff --git a/animism-align/cli/app/sql/versions/202006271347_add_paragraphs.py b/animism-align/cli/app/sql/versions/202007041633_create_database.py
index cc134b5..f8336e5 100644
--- a/animism-align/cli/app/sql/versions/202006271347_add_paragraphs.py
+++ b/animism-align/cli/app/sql/versions/202007041633_create_database.py
@@ -1,8 +1,8 @@
-"""add paragraphs
+"""create database
-Revision ID: 650f7cdb3174
+Revision ID: f8936a84e584
Revises:
-Create Date: 2020-06-27 13:47:33.766574
+Create Date: 2020-07-04 16:33:01.643193
"""
from alembic import op
@@ -11,7 +11,7 @@ import sqlalchemy_utc
# revision identifiers, used by Alembic.
-revision = '650f7cdb3174'
+revision = 'f8936a84e584'
down_revision = None
branch_labels = None
depends_on = None
@@ -34,13 +34,13 @@ def upgrade():
sa.Column('created_at', sqlalchemy_utc.sqltypes.UtcDateTime(timezone=True), nullable=True),
sa.PrimaryKeyConstraint('id')
)
- op.create_table('timestamp',
+ op.create_table('annotation',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('type', sa.String(length=16, _expect_unicode=True), nullable=False),
sa.Column('paragraph_id', sa.Integer(), nullable=True),
sa.Column('start_ts', sa.Float(), nullable=False),
sa.Column('end_ts', sa.Float(), nullable=True),
- sa.Column('sentence', sa.Text(_expect_unicode=True), nullable=True),
+ sa.Column('text', sa.Text(_expect_unicode=True), nullable=True),
sa.Column('settings', sa.JSON(), nullable=True),
sa.ForeignKeyConstraint(['paragraph_id'], ['paragraph.id'], ),
sa.PrimaryKeyConstraint('id')
@@ -50,7 +50,7 @@ def upgrade():
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
- op.drop_table('timestamp')
+ op.drop_table('annotation')
op.drop_table('upload')
op.drop_table('paragraph')
# ### end Alembic commands ###