summaryrefslogtreecommitdiff
path: root/cli/app/sql/models/collection.py
diff options
context:
space:
mode:
Diffstat (limited to 'cli/app/sql/models/collection.py')
-rw-r--r--cli/app/sql/models/collection.py58
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