From 3cf70771cb45cc16ec33ffe44e7a1a4799d8f395 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Tue, 23 Jun 2020 23:18:07 +0200 Subject: adding web app base --- .../models/__pycache__/collection.cpython-37.pyc | Bin 0 -> 2784 bytes .../__pycache__/collection_media.cpython-37.pyc | Bin 0 -> 1836 bytes .../__pycache__/detection_type.cpython-37.pyc | Bin 0 -> 2221 bytes .../detection_type_import.cpython-37.pyc | Bin 0 -> 1450 bytes .../models/__pycache__/feature_type.cpython-37.pyc | Bin 0 -> 2297 bytes .../__pycache__/feature_type_import.cpython-37.pyc | Bin 0 -> 1424 bytes .../sql/models/__pycache__/graph.cpython-37.pyc | Bin 0 -> 2315 bytes .../sql/models/__pycache__/media.cpython-37.pyc | Bin 0 -> 3072 bytes .../__pycache__/media_detection.cpython-37.pyc | Bin 0 -> 2048 bytes .../models/__pycache__/media_import.cpython-37.pyc | Bin 0 -> 1880 bytes .../app/sql/models/__pycache__/page.cpython-37.pyc | Bin 0 -> 2792 bytes .../app/sql/models/__pycache__/tile.cpython-37.pyc | Bin 0 -> 2037 bytes .../models/__pycache__/timestamp.cpython-37.pyc | Bin 0 -> 1852 bytes .../sql/models/__pycache__/upload.cpython-37.pyc | Bin 0 -> 1991 bytes animism-align/cli/app/sql/models/timestamp.py | 37 +++++++++++++++++ animism-align/cli/app/sql/models/upload.py | 44 +++++++++++++++++++++ 16 files changed, 81 insertions(+) create mode 100644 animism-align/cli/app/sql/models/__pycache__/collection.cpython-37.pyc create mode 100644 animism-align/cli/app/sql/models/__pycache__/collection_media.cpython-37.pyc create mode 100644 animism-align/cli/app/sql/models/__pycache__/detection_type.cpython-37.pyc create mode 100644 animism-align/cli/app/sql/models/__pycache__/detection_type_import.cpython-37.pyc create mode 100644 animism-align/cli/app/sql/models/__pycache__/feature_type.cpython-37.pyc create mode 100644 animism-align/cli/app/sql/models/__pycache__/feature_type_import.cpython-37.pyc create mode 100644 animism-align/cli/app/sql/models/__pycache__/graph.cpython-37.pyc create mode 100644 animism-align/cli/app/sql/models/__pycache__/media.cpython-37.pyc create mode 100644 animism-align/cli/app/sql/models/__pycache__/media_detection.cpython-37.pyc create mode 100644 animism-align/cli/app/sql/models/__pycache__/media_import.cpython-37.pyc create mode 100644 animism-align/cli/app/sql/models/__pycache__/page.cpython-37.pyc create mode 100644 animism-align/cli/app/sql/models/__pycache__/tile.cpython-37.pyc create mode 100644 animism-align/cli/app/sql/models/__pycache__/timestamp.cpython-37.pyc create mode 100644 animism-align/cli/app/sql/models/__pycache__/upload.cpython-37.pyc create mode 100644 animism-align/cli/app/sql/models/timestamp.py create mode 100644 animism-align/cli/app/sql/models/upload.py (limited to 'animism-align/cli/app/sql/models') 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 new file mode 100644 index 0000000..927259d Binary files /dev/null and b/animism-align/cli/app/sql/models/__pycache__/collection.cpython-37.pyc differ 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 new file mode 100644 index 0000000..cacd652 Binary files /dev/null and b/animism-align/cli/app/sql/models/__pycache__/collection_media.cpython-37.pyc differ 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 new file mode 100644 index 0000000..195474b Binary files /dev/null and b/animism-align/cli/app/sql/models/__pycache__/detection_type.cpython-37.pyc differ 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 new file mode 100644 index 0000000..df4e41e Binary files /dev/null and b/animism-align/cli/app/sql/models/__pycache__/detection_type_import.cpython-37.pyc differ 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 new file mode 100644 index 0000000..12b566b Binary files /dev/null and b/animism-align/cli/app/sql/models/__pycache__/feature_type.cpython-37.pyc differ 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 new file mode 100644 index 0000000..ff1c5c1 Binary files /dev/null and b/animism-align/cli/app/sql/models/__pycache__/feature_type_import.cpython-37.pyc differ 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 new file mode 100644 index 0000000..f803c6b Binary files /dev/null and b/animism-align/cli/app/sql/models/__pycache__/graph.cpython-37.pyc differ 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 new file mode 100644 index 0000000..8c75482 Binary files /dev/null and b/animism-align/cli/app/sql/models/__pycache__/media.cpython-37.pyc differ 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 new file mode 100644 index 0000000..5579e49 Binary files /dev/null and b/animism-align/cli/app/sql/models/__pycache__/media_detection.cpython-37.pyc differ 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 new file mode 100644 index 0000000..8ba8af4 Binary files /dev/null and b/animism-align/cli/app/sql/models/__pycache__/media_import.cpython-37.pyc differ 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 new file mode 100644 index 0000000..3907746 Binary files /dev/null and b/animism-align/cli/app/sql/models/__pycache__/page.cpython-37.pyc differ 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 new file mode 100644 index 0000000..743b301 Binary files /dev/null and b/animism-align/cli/app/sql/models/__pycache__/tile.cpython-37.pyc differ 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 new file mode 100644 index 0000000..8337acf Binary files /dev/null and b/animism-align/cli/app/sql/models/__pycache__/timestamp.cpython-37.pyc differ 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 new file mode 100644 index 0000000..39fb71b Binary files /dev/null and b/animism-align/cli/app/sql/models/__pycache__/upload.cpython-37.pyc differ 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()) -- cgit v1.2.3-70-g09d2