diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2020-09-29 19:14:53 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2020-09-29 19:14:53 +0200 |
| commit | 541e23df31ed3e9f1d1c5fe02962efbb3d6c2c8f (patch) | |
| tree | 94e8c1af8b4f309ce153033761e46cd22baf750c /animism-align/cli/app/sql/models/episode.py | |
| parent | ce80f0fe7fa60fe5666057ed88c5ca69634df083 (diff) | |
add table for episodes
Diffstat (limited to 'animism-align/cli/app/sql/models/episode.py')
| -rw-r--r-- | animism-align/cli/app/sql/models/episode.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/animism-align/cli/app/sql/models/episode.py b/animism-align/cli/app/sql/models/episode.py new file mode 100644 index 0000000..a13c674 --- /dev/null +++ b/animism-align/cli/app/sql/models/episode.py @@ -0,0 +1,34 @@ +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 Episode(Base): + """Table for storing episodes and their metadata""" + __tablename__ = 'episode' + id = Column(Integer, primary_key=True) + episode_number = Column(Integer, primary_key=True) + title = Column(String(256, convert_unicode=True), nullable=False) + release_date = Column(String(256, convert_unicode=True), primary_key=True) + settings = Column(JSON, default={}, nullable=True) + + def toJSON(self): + return { + 'id': self.id, + 'episode_number': self.episode_number, + 'title': self.type, + 'release_date': self.release_date, + 'settings': self.settings, + } + +class EpisodeForm(ModelForm): + class Meta: + model = Episode + exclude = ['settings'] + def get_session(): + return Session() |
