summaryrefslogtreecommitdiff
path: root/animism-align/cli/app/sql/models
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2020-06-23 23:18:07 +0200
committerJules Laplace <julescarbon@gmail.com>2020-06-23 23:18:07 +0200
commit3cf70771cb45cc16ec33ffe44e7a1a4799d8f395 (patch)
tree55f0edb53141d5f043b486d722f507bfd94abdea /animism-align/cli/app/sql/models
parent014816dc724c1be60b7dd28d4e608c89b4ed451c (diff)
adding web app base
Diffstat (limited to 'animism-align/cli/app/sql/models')
-rw-r--r--animism-align/cli/app/sql/models/__pycache__/collection.cpython-37.pycbin0 -> 2784 bytes
-rw-r--r--animism-align/cli/app/sql/models/__pycache__/collection_media.cpython-37.pycbin0 -> 1836 bytes
-rw-r--r--animism-align/cli/app/sql/models/__pycache__/detection_type.cpython-37.pycbin0 -> 2221 bytes
-rw-r--r--animism-align/cli/app/sql/models/__pycache__/detection_type_import.cpython-37.pycbin0 -> 1450 bytes
-rw-r--r--animism-align/cli/app/sql/models/__pycache__/feature_type.cpython-37.pycbin0 -> 2297 bytes
-rw-r--r--animism-align/cli/app/sql/models/__pycache__/feature_type_import.cpython-37.pycbin0 -> 1424 bytes
-rw-r--r--animism-align/cli/app/sql/models/__pycache__/graph.cpython-37.pycbin0 -> 2315 bytes
-rw-r--r--animism-align/cli/app/sql/models/__pycache__/media.cpython-37.pycbin0 -> 3072 bytes
-rw-r--r--animism-align/cli/app/sql/models/__pycache__/media_detection.cpython-37.pycbin0 -> 2048 bytes
-rw-r--r--animism-align/cli/app/sql/models/__pycache__/media_import.cpython-37.pycbin0 -> 1880 bytes
-rw-r--r--animism-align/cli/app/sql/models/__pycache__/page.cpython-37.pycbin0 -> 2792 bytes
-rw-r--r--animism-align/cli/app/sql/models/__pycache__/tile.cpython-37.pycbin0 -> 2037 bytes
-rw-r--r--animism-align/cli/app/sql/models/__pycache__/timestamp.cpython-37.pycbin0 -> 1852 bytes
-rw-r--r--animism-align/cli/app/sql/models/__pycache__/upload.cpython-37.pycbin0 -> 1991 bytes
-rw-r--r--animism-align/cli/app/sql/models/timestamp.py37
-rw-r--r--animism-align/cli/app/sql/models/upload.py44
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
new file mode 100644
index 0000000..927259d
--- /dev/null
+++ b/animism-align/cli/app/sql/models/__pycache__/collection.cpython-37.pyc
Binary files 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
--- /dev/null
+++ b/animism-align/cli/app/sql/models/__pycache__/collection_media.cpython-37.pyc
Binary files 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
--- /dev/null
+++ b/animism-align/cli/app/sql/models/__pycache__/detection_type.cpython-37.pyc
Binary files 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
--- /dev/null
+++ b/animism-align/cli/app/sql/models/__pycache__/detection_type_import.cpython-37.pyc
Binary files 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
--- /dev/null
+++ b/animism-align/cli/app/sql/models/__pycache__/feature_type.cpython-37.pyc
Binary files 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
--- /dev/null
+++ b/animism-align/cli/app/sql/models/__pycache__/feature_type_import.cpython-37.pyc
Binary files 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
--- /dev/null
+++ b/animism-align/cli/app/sql/models/__pycache__/graph.cpython-37.pyc
Binary files 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
--- /dev/null
+++ b/animism-align/cli/app/sql/models/__pycache__/media.cpython-37.pyc
Binary files 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
--- /dev/null
+++ b/animism-align/cli/app/sql/models/__pycache__/media_detection.cpython-37.pyc
Binary files 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
--- /dev/null
+++ b/animism-align/cli/app/sql/models/__pycache__/media_import.cpython-37.pyc
Binary files 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
--- /dev/null
+++ b/animism-align/cli/app/sql/models/__pycache__/page.cpython-37.pyc
Binary files 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
--- /dev/null
+++ b/animism-align/cli/app/sql/models/__pycache__/tile.cpython-37.pyc
Binary files 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
--- /dev/null
+++ b/animism-align/cli/app/sql/models/__pycache__/timestamp.cpython-37.pyc
Binary files 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
--- /dev/null
+++ b/animism-align/cli/app/sql/models/__pycache__/upload.cpython-37.pyc
Binary files 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())