| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- from datetime import datetime
- from sqlalchemy import Column, Integer, String, DateTime, Boolean
- from core import db
- class Model(db.Base):
- __abstract__ = True
- id = Column(Integer, primary_key=True)
- created_on = Column(DateTime, default=datetime.now())
- deleted = Column(Boolean, nullable=False, default=False)
- def __repr__(self):
- return f"<{self.__class__.__name__} {self.id}>"
- class MusicFolder(Model):
- __tablename__ = 'MusicFolders'
- STATUS_UNKNOWN = 0
- STATUS_FOUND = 1
- STATUS_UNAVAILABLE = 2
- STATUS_DELETED = 3
- path = Column(String, nullable=False)
- last_scan = Column(DateTime)
- status = Column(Integer, default=0)
- class Profile(Model):
- __tablename__ = 'Profiles'
- name = Column(String, nullable=False)
- class Tag(Model):
- __tablename__ = 'Tags'
- label = Column(String, nullable=False)
- color = Column(String, nullable=False, default="#6666ff")
- class Track(Model):
- __tablename__ = 'Tracks'
- STATUS_UNKNOWN = 0
- STATUS_FOUND = 1
- STATUS_UNAVAILABLE = 2
- STATUS_UNREADABLE = 3
- profile_id = Column(Integer)
- music_folder_id = Column(Integer)
- title = Column(String)
- format = Column(String)
- artist = Column(String)
- album = Column(String)
- track_num = Column(Integer)
- year = Column(Integer)
- duration = Column(Integer)
- size = Column(Integer)
- note = Column(String)
- status = Column(Integer, nullable=False, default=0)
- path = Column(String, nullable=False)
- hash = Column(String, nullable=False)
- origin = Column(String)
- class TrackTag(Model):
- __tablename__ = 'TracksTags'
- track_id = Column(Integer)
- tag_id = Column(Integer)
- class Session(Model):
- __tablename__ = 'Sessions'
- name = Column(String, nullable=False)
- date = Column(DateTime)
- notes = Column(String)
- class SessionTrack(Model):
- __tablename__ = 'SessionsTracks'
- track_id = Column(Integer)
- session_id = Column(Integer)
- if __name__ == "__main__":
- from core import constants
- session = db.session()
- for track in session.query(Track).all():
- print(track)
|