olinox 4 лет назад
Родитель
Сommit
2bfca28b23
1 измененных файлов с 62 добавлено и 0 удалено
  1. 62 0
      core/models.py

+ 62 - 0
core/models.py

@@ -0,0 +1,62 @@
+
+class Model:
+    def __init__(self, id_=None):
+        self.id = id_
+
+
+class MusicFolder(Model):
+    STATUS_UNKNOWN = 0
+    STATUS_FOUND = 1
+    STATUS_UNAVAILABLE = 2
+    STATUS_DELETED = 3
+
+    def __init__(self, id_=None, path_=None, last_scan=None, status=None):
+        super().__init__(id_)
+        self.path = path_
+        self.last_scan = last_scan
+        self.status = status if status is not None else MusicFolder.STATUS_UNKNOWN
+
+
+class Profile(Model):
+    def __init__(self, id_=None, name=None, created_on=None):
+        super().__init__(id_)
+        self.name = name
+        self.created_on = created_on
+
+
+class Tag(Model):
+    def __init__(self, id_=None, label=None, color=None, deleted=0):
+        super().__init__(id_)
+        self.label = label
+        self.color = color
+        self.deleted = deleted
+
+
+class Track(Model):
+    def __init__(self, id_=None, profile_id=None, music_folder_id=None, name=None,
+                 format_=None, artist=None, album=None, track_num=None, year=None,
+                 duration=None, size=None, note=None, status=None, path_=None,
+                 hash_=None, origin=None):
+        super().__init__(id_)
+        self.profile_id = profile_id
+        self.music_folder_id = music_folder_id
+        self.name = name
+        self.format = format_
+        self.artist = artist
+        self.album = album
+        self.track_num = track_num
+        self.year = year
+        self.duration = duration
+        self.size = size
+        self.note = note
+        self.status = status
+        self.path = path_
+        self.hash = hash_
+        self.origin = origin
+
+
+class TrackTag(Model):
+    def __init__(self, id_=None, track_id=None, tag_id=None):
+        super().__init__(id_)
+        self.track_id = track_id
+        self.tag_id = tag_id