summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Pointner <equinox@helsinki.at>2017-01-06 01:07:50 (GMT)
committerChristian Pointner <equinox@helsinki.at>2017-01-06 01:07:50 (GMT)
commit11ff3ea58c83f82e4d9d7b58f4f57a8718a2f8a2 (patch)
treeda2489f49c956f5d618f551369f2027a7228f6e3
parentbee4dba4ed6c8519a9a87027d20d3c3f284ec7fa (diff)
added support for new noplaying db format
-rw-r--r--nop/migrations/0001_initial.py5
-rw-r--r--nop/models.py15
2 files changed, 16 insertions, 4 deletions
diff --git a/nop/migrations/0001_initial.py b/nop/migrations/0001_initial.py
index 67a04e8..0285517 100644
--- a/nop/migrations/0001_initial.py
+++ b/nop/migrations/0001_initial.py
@@ -2,6 +2,7 @@
from __future__ import unicode_literals
from django.db import migrations, models
+import nop.models
class Migration(migrations.Migration):
@@ -22,7 +23,7 @@ class Migration(migrations.Migration):
('title', models.CharField(max_length=765, blank=True)),
('artist', models.CharField(max_length=765, blank=True)),
('album', models.CharField(max_length=765, blank=True)),
- ('ismusic', models.IntegerField(null=True, blank=True)),
+ ('carttype', nop.models.CartTypeField(max_length=64, blank=True)),
],
options={
'ordering': ['-timestamp'],
@@ -39,7 +40,7 @@ class Migration(migrations.Migration):
('title', models.CharField(max_length=765, blank=True)),
('artist', models.CharField(max_length=765, blank=True)),
('album', models.CharField(max_length=765, blank=True)),
- ('ismusic', models.IntegerField(null=True, blank=True)),
+ ('carttype', nop.models.CartTypeField(max_length=64, blank=True)),
],
options={
'ordering': ['-timestamp'],
diff --git a/nop/models.py b/nop/models.py
index 1b39eed..e9b23e6 100644
--- a/nop/models.py
+++ b/nop/models.py
@@ -1,5 +1,16 @@
from django.db import models
+class CartTypeField(models.Field):
+ def __init__(self, *args, **kwargs):
+ self.types = [('show', 'Show'),
+ ('pool', 'Musicpool'),
+ ('jingle', 'Jingle'),
+ ]
+ super(CartTypeField, self).__init__(*args, **kwargs)
+
+ def db_type(self, connection):
+ return "ENUM({})".format(','.join("'{}'".format(col)
+ for col, _ in self.types))
class Master(models.Model):
timestamp = models.BigIntegerField(primary_key=True)
@@ -9,7 +20,7 @@ class Master(models.Model):
title = models.CharField(max_length=765, blank=True)
artist = models.CharField(max_length=765, blank=True)
album = models.CharField(max_length=765, blank=True)
- ismusic = models.IntegerField(null=True, blank=True)
+ carttype = CartTypeField(max_length=64, blank=True)
class Meta:
db_table = u'master'
@@ -24,7 +35,7 @@ class Standby(models.Model):
title = models.CharField(max_length=765, blank=True)
artist = models.CharField(max_length=765, blank=True)
album = models.CharField(max_length=765, blank=True)
- ismusic = models.IntegerField(null=True, blank=True)
+ carttype = CartTypeField(max_length=64, blank=True)
class Meta:
db_table = u'standby'