aboutsummaryrefslogtreecommitdiffstats
path: root/backend/zmusic/database.py
diff options
context:
space:
mode:
Diffstat (limited to 'backend/zmusic/database.py')
-rw-r--r--backend/zmusic/database.py37
1 files changed, 14 insertions, 23 deletions
diff --git a/backend/zmusic/database.py b/backend/zmusic/database.py
index 6935a45..8050ab8 100644
--- a/backend/zmusic/database.py
+++ b/backend/zmusic/database.py
@@ -2,24 +2,15 @@ from zmusic import db
from uuid import uuid4
import time
-# This is indeed ugly, but it was suggested by the SQLAlchemy documention
-# verbatim as a way of dealing with str-centric apps.
-class CoerceUTF8(db.TypeDecorator):
- impl = db.Unicode
- def process_bind_param(self, value, dialect):
- if isinstance(value, str):
- value = value.decode('utf-8')
- return value
-
class Song(db.Model):
__tablename__ = 'songs'
- filename = db.Column(CoerceUTF8, primary_key=True)
- id = db.Column(CoerceUTF8, nullable=False, index=True)
- title = db.Column(CoerceUTF8)
- album = db.Column(CoerceUTF8)
- artist = db.Column(CoerceUTF8)
- mimetype = db.Column(CoerceUTF8)
+ filename = db.Column(db.Unicode, primary_key=True)
+ id = db.Column(db.Unicode, nullable=False, index=True)
+ title = db.Column(db.Unicode)
+ album = db.Column(db.Unicode)
+ artist = db.Column(db.Unicode)
+ mimetype = db.Column(db.Unicode)
year = db.Column(db.Integer)
track = db.Column(db.Integer)
disc = db.Column(db.Integer)
@@ -58,15 +49,15 @@ class Song(db.Model):
class Download(db.Model):
__tablename__ = 'downloads'
- id = db.Column(CoerceUTF8, primary_key=True)
- leader_id = db.Column(CoerceUTF8)
+ id = db.Column(db.Unicode, primary_key=True)
+ leader_id = db.Column(db.Unicode)
time = db.Column(db.Integer)
- ip = db.Column(CoerceUTF8, index=True)
- useragent = db.Column(CoerceUTF8)
- song_id = db.Column(CoerceUTF8, db.ForeignKey(Song.id))
- artist = db.Column(CoerceUTF8)
- album = db.Column(CoerceUTF8)
- title = db.Column(CoerceUTF8)
+ ip = db.Column(db.Unicode, index=True)
+ useragent = db.Column(db.Unicode)
+ song_id = db.Column(db.Unicode, db.ForeignKey(Song.id))
+ artist = db.Column(db.Unicode)
+ album = db.Column(db.Unicode)
+ title = db.Column(db.Unicode)
is_zip = db.Column(db.Boolean)
def __init__(self, song, request):