diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2020-06-23 23:18:07 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2020-06-23 23:18:07 +0200 |
| commit | 3cf70771cb45cc16ec33ffe44e7a1a4799d8f395 (patch) | |
| tree | 55f0edb53141d5f043b486d722f507bfd94abdea /animism-align/cli/app/sql/models | |
| parent | 014816dc724c1be60b7dd28d4e608c89b4ed451c (diff) | |
adding web app base
Diffstat (limited to 'animism-align/cli/app/sql/models')
16 files changed, 81 insertions, 0 deletions
diff --git a/animism-align/cli/app/sql/models/__pycache__/collection.cpython-37.pyc b/animism-align/cli/app/sql/models/__pycache__/collection.cpython-37.pyc Binary files differnew file mode 100644 index 0000000..927259d --- /dev/null +++ b/animism-align/cli/app/sql/models/__pycache__/collection.cpython-37.pyc diff --git a/animism-align/cli/app/sql/models/__pycache__/collection_media.cpython-37.pyc b/animism-align/cli/app/sql/models/__pycache__/collection_media.cpython-37.pyc Binary files differnew file mode 100644 index 0000000..cacd652 --- /dev/null +++ b/animism-align/cli/app/sql/models/__pycache__/collection_media.cpython-37.pyc diff --git a/animism-align/cli/app/sql/models/__pycache__/detection_type.cpython-37.pyc b/animism-align/cli/app/sql/models/__pycache__/detection_type.cpython-37.pyc Binary files differnew file mode 100644 index 0000000..195474b --- /dev/null +++ b/animism-align/cli/app/sql/models/__pycache__/detection_type.cpython-37.pyc diff --git a/animism-align/cli/app/sql/models/__pycache__/detection_type_import.cpython-37.pyc b/animism-align/cli/app/sql/models/__pycache__/detection_type_import.cpython-37.pyc Binary files differnew file mode 100644 index 0000000..df4e41e --- /dev/null +++ b/animism-align/cli/app/sql/models/__pycache__/detection_type_import.cpython-37.pyc diff --git a/animism-align/cli/app/sql/models/__pycache__/feature_type.cpython-37.pyc b/animism-align/cli/app/sql/models/__pycache__/feature_type.cpython-37.pyc Binary files differnew file mode 100644 index 0000000..12b566b --- /dev/null +++ b/animism-align/cli/app/sql/models/__pycache__/feature_type.cpython-37.pyc diff --git a/animism-align/cli/app/sql/models/__pycache__/feature_type_import.cpython-37.pyc b/animism-align/cli/app/sql/models/__pycache__/feature_type_import.cpython-37.pyc Binary files differnew file mode 100644 index 0000000..ff1c5c1 --- /dev/null +++ b/animism-align/cli/app/sql/models/__pycache__/feature_type_import.cpython-37.pyc diff --git a/animism-align/cli/app/sql/models/__pycache__/graph.cpython-37.pyc b/animism-align/cli/app/sql/models/__pycache__/graph.cpython-37.pyc Binary files differnew file mode 100644 index 0000000..f803c6b --- /dev/null +++ b/animism-align/cli/app/sql/models/__pycache__/graph.cpython-37.pyc diff --git a/animism-align/cli/app/sql/models/__pycache__/media.cpython-37.pyc b/animism-align/cli/app/sql/models/__pycache__/media.cpython-37.pyc Binary files differnew file mode 100644 index 0000000..8c75482 --- /dev/null +++ b/animism-align/cli/app/sql/models/__pycache__/media.cpython-37.pyc diff --git a/animism-align/cli/app/sql/models/__pycache__/media_detection.cpython-37.pyc b/animism-align/cli/app/sql/models/__pycache__/media_detection.cpython-37.pyc Binary files differnew file mode 100644 index 0000000..5579e49 --- /dev/null +++ b/animism-align/cli/app/sql/models/__pycache__/media_detection.cpython-37.pyc diff --git a/animism-align/cli/app/sql/models/__pycache__/media_import.cpython-37.pyc b/animism-align/cli/app/sql/models/__pycache__/media_import.cpython-37.pyc Binary files differnew file mode 100644 index 0000000..8ba8af4 --- /dev/null +++ b/animism-align/cli/app/sql/models/__pycache__/media_import.cpython-37.pyc diff --git a/animism-align/cli/app/sql/models/__pycache__/page.cpython-37.pyc b/animism-align/cli/app/sql/models/__pycache__/page.cpython-37.pyc Binary files differnew file mode 100644 index 0000000..3907746 --- /dev/null +++ b/animism-align/cli/app/sql/models/__pycache__/page.cpython-37.pyc diff --git a/animism-align/cli/app/sql/models/__pycache__/tile.cpython-37.pyc b/animism-align/cli/app/sql/models/__pycache__/tile.cpython-37.pyc Binary files differnew file mode 100644 index 0000000..743b301 --- /dev/null +++ b/animism-align/cli/app/sql/models/__pycache__/tile.cpython-37.pyc diff --git a/animism-align/cli/app/sql/models/__pycache__/timestamp.cpython-37.pyc b/animism-align/cli/app/sql/models/__pycache__/timestamp.cpython-37.pyc Binary files differnew file mode 100644 index 0000000..8337acf --- /dev/null +++ b/animism-align/cli/app/sql/models/__pycache__/timestamp.cpython-37.pyc diff --git a/animism-align/cli/app/sql/models/__pycache__/upload.cpython-37.pyc b/animism-align/cli/app/sql/models/__pycache__/upload.cpython-37.pyc Binary files differnew file mode 100644 index 0000000..39fb71b --- /dev/null +++ b/animism-align/cli/app/sql/models/__pycache__/upload.cpython-37.pyc diff --git a/animism-align/cli/app/sql/models/timestamp.py b/animism-align/cli/app/sql/models/timestamp.py new file mode 100644 index 0000000..60e9007 --- /dev/null +++ b/animism-align/cli/app/sql/models/timestamp.py @@ -0,0 +1,37 @@ +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.sql.models.page import Page + +from app.settings import app_cfg + +class Timestamp(Base): + """Table for storing references to graphs""" + __tablename__ = 'graph' + id = Column(Integer, primary_key=True) + type = Column(String(16, convert_unicode=True), nullable=False) + start_ts = Column(Float, nullable=False) + end_ts = Column(Float, nullable=True) + sentence = Column(Text(convert_unicode=True), nullable=True) + settings = Column(JSON, default={}, nullable=True) + + def toJSON(self): + return { + 'id': self.id, + 'type': self.type, + 'start_ts': self.start_ts, + 'end_ts': self.end_ts, + 'sentence': self.description, + 'settings': self.settings, + } + +class TimestampForm(ModelForm): + class Meta: + model = Timestamp + exclude = ['settings'] + def get_session(): + return Session() diff --git a/animism-align/cli/app/sql/models/upload.py b/animism-align/cli/app/sql/models/upload.py new file mode 100644 index 0000000..5863b07 --- /dev/null +++ b/animism-align/cli/app/sql/models/upload.py @@ -0,0 +1,44 @@ +from sqlalchemy import create_engine, Table, Column, String, Integer, DateTime +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.utils.file_utils import sha256_tree +from app.settings import app_cfg + +from os.path import join + +class Upload(Base): + """Table for storing references to various media""" + __tablename__ = 'upload' + id = Column(Integer, primary_key=True) + sha256 = Column(String(256), nullable=False) + fn = Column(String(256), nullable=False) + ext = Column(String(4, convert_unicode=True), nullable=False) + username = Column(String(16, convert_unicode=True), nullable=False) + created_at = Column(UtcDateTime(), default=utcnow()) + + def toJSON(self): + return { + 'id': self.id, + 'sha256': self.sha256, + 'fn': self.fn, + 'ext': self.ext, + 'username': self.username, + 'url': self.url(), + 'created_at': self.created_at, + } + + def filename(self): + return "{}{}".format(self.fn) + + def filepath(self): + return join(app_cfg.DIR_UPLOADS, sha256_tree(self.sha256)) + + def fullpath(self): + return join(self.filepath(), self.filename()) + + def url(self): + return join(app_cfg.URL_UPLOADS, sha256_tree(self.sha256), self.filename()) |
