diff options
Diffstat (limited to 'cli/app/sql/models/collection.py')
| -rw-r--r-- | cli/app/sql/models/collection.py | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/cli/app/sql/models/collection.py b/cli/app/sql/models/collection.py deleted file mode 100644 index 0bc808c..0000000 --- a/cli/app/sql/models/collection.py +++ /dev/null @@ -1,58 +0,0 @@ -from sqlalchemy import create_engine, Table, Column, String, Integer, Boolean, DateTime, Text -from sqlalchemy.orm import relationship -from sqlalchemy_utc import UtcDateTime, utcnow -import sqlalchemy.sql.functions as func -from wtforms_alchemy import ModelForm - -from app.sql.common import Base, Session -from app.sql.models.collection_media import CollectionMedia - -class Collection(Base): - """Table for storing references to various media""" - __tablename__ = 'collection' - id = Column(Integer, primary_key=True) - title = Column(String(64, convert_unicode=True), nullable=False) - username = Column(String(16, convert_unicode=True), nullable=False) - notes = Column(Text) - archived = Column(Boolean, default=False) - created_at = Column(UtcDateTime(), default=utcnow()) - updated_at = Column(UtcDateTime(), onupdate=utcnow()) - - medias = relationship("Media", secondary="collection_media", lazy='dynamic') - - def toJSON(self): - return { - 'id': self.id, - 'title': self.title, - 'username': self.username, - 'notes': self.notes, - 'archived': self.archived, - 'created_at': self.created_at, - 'updated_at': self.updated_at, - 'media': [media.toJSON() for media in self.medias.limit(7)], - } - - def toFullJSON(self): - return { - 'id': self.id, - 'title': self.title, - 'username': self.username, - 'notes': self.notes, - 'archived': self.archived, - 'created_at': self.created_at, - 'updated_at': self.updated_at, - 'media': [media.toJSON() for media in self.medias], - } - -def getMediaCounts(session): - return session.query( - CollectionMedia.collection_id, - func.count(CollectionMedia.media_id) - ).group_by(CollectionMedia.collection_id).all() - -class CollectionForm(ModelForm): - class Meta: - model = Collection - exclude = ['created_at', 'updated_at'] - def get_session(): - return Session()
\ No newline at end of file |
