From 88294f4a34029a1a8c40fc2a28e2963f62f72c66 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Tue, 7 Jul 2020 10:04:59 +0200 Subject: upload lister should work again.. --- animism-align/cli/app/sql/common.py | 1 + animism-align/cli/app/sql/env.py | 1 + animism-align/cli/app/sql/models/media.py | 30 ++++++++++++++++++++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 animism-align/cli/app/sql/models/media.py (limited to 'animism-align/cli') diff --git a/animism-align/cli/app/sql/common.py b/animism-align/cli/app/sql/common.py index f291daa..851c333 100644 --- a/animism-align/cli/app/sql/common.py +++ b/animism-align/cli/app/sql/common.py @@ -34,3 +34,4 @@ db = SQLAlchemy() from app.sql.models.annotation import Annotation from app.sql.models.paragraph import Paragraph from app.sql.models.upload import Upload +from app.sql.models.media import Media diff --git a/animism-align/cli/app/sql/env.py b/animism-align/cli/app/sql/env.py index 0defa88..6871a27 100644 --- a/animism-align/cli/app/sql/env.py +++ b/animism-align/cli/app/sql/env.py @@ -17,6 +17,7 @@ target_metadata = Base.metadata from app.sql.models.annotation import Annotation from app.sql.models.paragraph import Paragraph from app.sql.models.upload import Upload +from app.sql.models.media import Media def run_migrations_offline(): """Run migrations in 'offline' mode. diff --git a/animism-align/cli/app/sql/models/media.py b/animism-align/cli/app/sql/models/media.py new file mode 100644 index 0000000..6b615c9 --- /dev/null +++ b/animism-align/cli/app/sql/models/media.py @@ -0,0 +1,30 @@ +from sqlalchemy import create_engine, Table, Column, Text, String, Integer, Float, DateTime, JSON, ForeignKey +from sqlalchemy.orm import relationship +import sqlalchemy.sql.functions as func +from sqlalchemy_utc import UtcDateTime, utcnow +from wtforms_alchemy import ModelForm + +from app.sql.common import db, Base, Session + +from app.settings import app_cfg + +class Media(Base): + """Table for storing references to media""" + __tablename__ = 'media' + id = Column(Integer, primary_key=True) + type = Column(String(16, convert_unicode=True), nullable=False) + settings = Column(JSON, default={}, nullable=True) + + def toJSON(self): + return { + 'id': self.id, + 'type': self.type, + 'settings': self.settings, + } + +class MediaForm(ModelForm): + class Meta: + model = Media + exclude = ['settings'] + def get_session(): + return Session() -- cgit v1.2.3-70-g09d2