From 2c07dedac04627151bb4fc7e8d4b9ffb99157a23 Mon Sep 17 00:00:00 2001 From: j <0x006A@0x2620.org> Date: Fri, 2 Nov 2012 13:41:41 +0100 Subject: [PATCH] add south migrations, convert update to python --- pandora/annotation/migrations/0001_initial.py | 182 +++++++++++ pandora/annotation/migrations/__init__.py | 0 .../management/commands/south_installed.py | 21 ++ pandora/app/migrations/0001_initial.py | 38 +++ pandora/app/migrations/__init__.py | 0 pandora/archive/migrations/0001_initial.py | 299 ++++++++++++++++++ pandora/archive/migrations/__init__.py | 0 pandora/archive/models.py | 9 +- pandora/changelog/migrations/0001_initial.py | 36 +++ pandora/changelog/migrations/__init__.py | 0 pandora/clip/migrations/0001_initial.py | 191 +++++++++++ pandora/clip/migrations/__init__.py | 0 pandora/edit/migrations/0001_initial.py | 138 ++++++++ pandora/edit/migrations/__init__.py | 0 pandora/event/migrations/0001_initial.py | 232 ++++++++++++++ pandora/event/migrations/__init__.py | 0 pandora/item/migrations/0001_initial.py | 222 +++++++++++++ pandora/item/migrations/__init__.py | 0 pandora/itemlist/migrations/0001_initial.py | 184 +++++++++++ pandora/itemlist/migrations/__init__.py | 0 pandora/log/migrations/0001_initial.py | 78 +++++ pandora/log/migrations/__init__.py | 0 .../monkey_patch/migrations/0001_initial.py | 20 ++ pandora/monkey_patch/migrations/__init__.py | 0 pandora/news/migrations/0001_initial.py | 40 +++ pandora/news/migrations/__init__.py | 0 pandora/person/migrations/0001_initial.py | 46 +++ pandora/person/migrations/__init__.py | 0 pandora/place/migrations/0001_initial.py | 240 ++++++++++++++ pandora/place/migrations/__init__.py | 0 pandora/sequence/migrations/0001_initial.py | 160 ++++++++++ pandora/sequence/migrations/__init__.py | 0 pandora/settings.py | 2 +- pandora/text/migrations/0001_initial.py | 116 +++++++ pandora/text/migrations/__init__.py | 0 pandora/title/migrations/0001_initial.py | 40 +++ pandora/title/migrations/__init__.py | 0 pandora/tv/migrations/0001_initial.py | 153 +++++++++ pandora/tv/migrations/__init__.py | 0 pandora/urlalias/migrations/0001_initial.py | 85 +++++ pandora/urlalias/migrations/__init__.py | 0 pandora/user/migrations/0001_initial.py | 129 ++++++++ pandora/user/migrations/__init__.py | 0 requirements.txt | 1 + update.py | 72 +++++ update.sh | 43 --- 46 files changed, 2729 insertions(+), 48 deletions(-) create mode 100644 pandora/annotation/migrations/0001_initial.py create mode 100644 pandora/annotation/migrations/__init__.py create mode 100644 pandora/app/management/commands/south_installed.py create mode 100644 pandora/app/migrations/0001_initial.py create mode 100644 pandora/app/migrations/__init__.py create mode 100644 pandora/archive/migrations/0001_initial.py create mode 100644 pandora/archive/migrations/__init__.py create mode 100644 pandora/changelog/migrations/0001_initial.py create mode 100644 pandora/changelog/migrations/__init__.py create mode 100644 pandora/clip/migrations/0001_initial.py create mode 100644 pandora/clip/migrations/__init__.py create mode 100644 pandora/edit/migrations/0001_initial.py create mode 100644 pandora/edit/migrations/__init__.py create mode 100644 pandora/event/migrations/0001_initial.py create mode 100644 pandora/event/migrations/__init__.py create mode 100644 pandora/item/migrations/0001_initial.py create mode 100644 pandora/item/migrations/__init__.py create mode 100644 pandora/itemlist/migrations/0001_initial.py create mode 100644 pandora/itemlist/migrations/__init__.py create mode 100644 pandora/log/migrations/0001_initial.py create mode 100644 pandora/log/migrations/__init__.py create mode 100644 pandora/monkey_patch/migrations/0001_initial.py create mode 100644 pandora/monkey_patch/migrations/__init__.py create mode 100644 pandora/news/migrations/0001_initial.py create mode 100644 pandora/news/migrations/__init__.py create mode 100644 pandora/person/migrations/0001_initial.py create mode 100644 pandora/person/migrations/__init__.py create mode 100644 pandora/place/migrations/0001_initial.py create mode 100644 pandora/place/migrations/__init__.py create mode 100644 pandora/sequence/migrations/0001_initial.py create mode 100644 pandora/sequence/migrations/__init__.py create mode 100644 pandora/text/migrations/0001_initial.py create mode 100644 pandora/text/migrations/__init__.py create mode 100644 pandora/title/migrations/0001_initial.py create mode 100644 pandora/title/migrations/__init__.py create mode 100644 pandora/tv/migrations/0001_initial.py create mode 100644 pandora/tv/migrations/__init__.py create mode 100644 pandora/urlalias/migrations/0001_initial.py create mode 100644 pandora/urlalias/migrations/__init__.py create mode 100644 pandora/user/migrations/0001_initial.py create mode 100644 pandora/user/migrations/__init__.py create mode 100755 update.py delete mode 100755 update.sh diff --git a/pandora/annotation/migrations/0001_initial.py b/pandora/annotation/migrations/0001_initial.py new file mode 100644 index 00000000..6d6a957c --- /dev/null +++ b/pandora/annotation/migrations/0001_initial.py @@ -0,0 +1,182 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'Annotation' + db.create_table('annotation_annotation', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), + ('modified', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), + ('item', self.gf('django.db.models.fields.related.ForeignKey')(related_name='annotations', to=orm['item.Item'])), + ('clip', self.gf('django.db.models.fields.related.ForeignKey')(related_name='annotations', null=True, to=orm['clip.Clip'])), + ('public_id', self.gf('django.db.models.fields.CharField')(max_length=128, unique=True, null=True)), + ('start', self.gf('django.db.models.fields.FloatField')(default=-1, db_index=True)), + ('end', self.gf('django.db.models.fields.FloatField')(default=-1, db_index=True)), + ('layer', self.gf('django.db.models.fields.CharField')(max_length=255, db_index=True)), + ('value', self.gf('django.db.models.fields.TextField')()), + ('findvalue', self.gf('django.db.models.fields.TextField')(null=True)), + ('sortvalue', self.gf('django.db.models.fields.CharField')(db_index=True, max_length=1000, null=True, blank=True)), + )) + db.send_create_signal('annotation', ['Annotation']) + + + def backwards(self, orm): + # Deleting model 'Annotation' + db.delete_table('annotation_annotation') + + + models = { + 'annotation.annotation': { + 'Meta': {'object_name': 'Annotation'}, + 'clip': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'annotations'", 'null': 'True', 'to': "orm['clip.Clip']"}), + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'end': ('django.db.models.fields.FloatField', [], {'default': '-1', 'db_index': 'True'}), + 'findvalue': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'item': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'annotations'", 'to': "orm['item.Item']"}), + 'layer': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'public_id': ('django.db.models.fields.CharField', [], {'max_length': '128', 'unique': 'True', 'null': 'True'}), + 'sortvalue': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '1000', 'null': 'True', 'blank': 'True'}), + 'start': ('django.db.models.fields.FloatField', [], {'default': '-1', 'db_index': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}), + 'value': ('django.db.models.fields.TextField', [], {}) + }, + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '255', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}) + }, + 'clip.clip': { + 'Meta': {'unique_together': "(('item', 'start', 'end'),)", 'object_name': 'Clip'}, + 'aspect_ratio': ('django.db.models.fields.FloatField', [], {'default': '0'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'duration': ('django.db.models.fields.FloatField', [], {'default': '0', 'db_index': 'True'}), + 'end': ('django.db.models.fields.FloatField', [], {'default': '-1'}), + 'findvalue': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_index': 'True'}), + 'hue': ('django.db.models.fields.FloatField', [], {'default': '0', 'db_index': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'item': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'clips'", 'to': "orm['item.Item']"}), + 'lightness': ('django.db.models.fields.FloatField', [], {'default': '0', 'db_index': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'saturation': ('django.db.models.fields.FloatField', [], {'default': '0', 'db_index': 'True'}), + 'sort': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'matching_clips'", 'to': "orm['item.ItemSort']"}), + 'sortvalue': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'start': ('django.db.models.fields.FloatField', [], {'default': '-1', 'db_index': 'True'}), + 'subtitles': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}), + 'user': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'db_index': 'True'}), + 'volume': ('django.db.models.fields.FloatField', [], {'default': '0', 'null': 'True', 'db_index': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'item.item': { + 'Meta': {'object_name': 'Item'}, + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'data': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'external_data': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'items'", 'blank': 'True', 'to': "orm['auth.Group']"}), + 'icon': ('django.db.models.fields.files.ImageField', [], {'default': 'None', 'max_length': '100', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'itemId': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128', 'blank': 'True'}), + 'json': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'level': ('django.db.models.fields.IntegerField', [], {'db_index': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'notes': ('django.db.models.fields.TextField', [], {'default': "''"}), + 'oxdbId': ('django.db.models.fields.CharField', [], {'max_length': '42', 'unique': 'True', 'null': 'True', 'blank': 'True'}), + 'poster': ('django.db.models.fields.files.ImageField', [], {'default': 'None', 'max_length': '100', 'blank': 'True'}), + 'poster_frame': ('django.db.models.fields.FloatField', [], {'default': '-1'}), + 'poster_height': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'poster_source': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'poster_width': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'rendered': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}), + 'stream_aspect': ('django.db.models.fields.FloatField', [], {'default': '1.3333333333333333'}), + 'stream_info': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'torrent': ('django.db.models.fields.files.FileField', [], {'default': 'None', 'max_length': '1000', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'items'", 'null': 'True', 'to': "orm['auth.User']"}) + }, + 'item.itemsort': { + 'Meta': {'object_name': 'ItemSort'}, + 'accessed': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'aspectratio': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'bitrate': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'budget': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'cinematographer': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'country': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'cutsperminute': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'director': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'duration': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'editor': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'genre': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'gross': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'height': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'hue': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'item': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'sort'", 'unique': 'True', 'primary_key': 'True', 'to': "orm['item.Item']"}), + 'itemId': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'language': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'lightness': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'likes': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'numberofactors': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'numberofcuts': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'numberoffiles': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'parts': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'pixels': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'producer': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'profit': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'random': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'releasedate': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'resolution': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'rightslevel': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'runtime': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'saturation': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'size': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'timesaccessed': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'volume': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'votes': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'width': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'words': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'wordsperminute': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'writer': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'year': ('django.db.models.fields.CharField', [], {'max_length': '4', 'null': 'True', 'db_index': 'True'}) + } + } + + complete_apps = ['annotation'] \ No newline at end of file diff --git a/pandora/annotation/migrations/__init__.py b/pandora/annotation/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pandora/app/management/commands/south_installed.py b/pandora/app/management/commands/south_installed.py new file mode 100644 index 00000000..4b7cdc2c --- /dev/null +++ b/pandora/app/management/commands/south_installed.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +# vi:si:et:sw=4:sts=4:ts=4 +from django.core.management.base import BaseCommand +from django.db import connection, transaction + + +class Command(BaseCommand): + """ + """ + help = 'check if south migrations are initialized' + args = '' + + def handle(self, **options): + try: + import south.models + table_name = south.models.MigrationHistory._meta.db_table + cursor = connection.cursor() + db_rows = connection.introspection.get_table_description(cursor, table_name) + print "yes" + except: + print "no" diff --git a/pandora/app/migrations/0001_initial.py b/pandora/app/migrations/0001_initial.py new file mode 100644 index 00000000..126c1c09 --- /dev/null +++ b/pandora/app/migrations/0001_initial.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'Page' + db.create_table('app_page', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), + ('modified', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)), + ('name', self.gf('django.db.models.fields.CharField')(unique=True, max_length=1024)), + ('text', self.gf('django.db.models.fields.TextField')(blank=True)), + )) + db.send_create_signal('app', ['Page']) + + + def backwards(self, orm): + # Deleting model 'Page' + db.delete_table('app_page') + + + models = { + 'app.page': { + 'Meta': {'object_name': 'Page'}, + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '1024'}), + 'text': ('django.db.models.fields.TextField', [], {'blank': 'True'}) + } + } + + complete_apps = ['app'] \ No newline at end of file diff --git a/pandora/app/migrations/__init__.py b/pandora/app/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pandora/archive/migrations/0001_initial.py b/pandora/archive/migrations/0001_initial.py new file mode 100644 index 00000000..ba592ea0 --- /dev/null +++ b/pandora/archive/migrations/0001_initial.py @@ -0,0 +1,299 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'File' + db.create_table('archive_file', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), + ('modified', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)), + ('oshash', self.gf('django.db.models.fields.CharField')(unique=True, max_length=16)), + ('item', self.gf('django.db.models.fields.related.ForeignKey')(related_name='files', to=orm['item.Item'])), + ('path', self.gf('django.db.models.fields.CharField')(default='', max_length=2048)), + ('sort_path', self.gf('django.db.models.fields.CharField')(default='', max_length=2048)), + ('type', self.gf('django.db.models.fields.CharField')(default='', max_length=255)), + ('extension', self.gf('django.db.models.fields.CharField')(default='', max_length=255, null=True)), + ('language', self.gf('django.db.models.fields.CharField')(default='', max_length=8, null=True)), + ('part', self.gf('django.db.models.fields.CharField')(default='', max_length=255, null=True)), + ('part_title', self.gf('django.db.models.fields.CharField')(default='', max_length=255, null=True)), + ('version', self.gf('django.db.models.fields.CharField')(default='', max_length=255, null=True)), + ('size', self.gf('django.db.models.fields.BigIntegerField')(default=0)), + ('duration', self.gf('django.db.models.fields.FloatField')(null=True)), + ('info', self.gf('ox.django.fields.DictField')(default={})), + ('path_info', self.gf('ox.django.fields.DictField')(default={})), + ('video_codec', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('pixel_format', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('display_aspect_ratio', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('width', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('height', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('framerate', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('audio_codec', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('channels', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('samplerate', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('bits_per_pixel', self.gf('django.db.models.fields.FloatField')(default=-1)), + ('pixels', self.gf('django.db.models.fields.BigIntegerField')(default=0)), + ('available', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('selected', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('uploading', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('wanted', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('is_audio', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('is_video', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('is_subtitle', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('data', self.gf('django.db.models.fields.files.FileField')(max_length=100, null=True, blank=True)), + )) + db.send_create_signal('archive', ['File']) + + # Adding model 'Volume' + db.create_table('archive_volume', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), + ('modified', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='volumes', to=orm['auth.User'])), + ('name', self.gf('django.db.models.fields.CharField')(max_length=1024)), + )) + db.send_create_signal('archive', ['Volume']) + + # Adding unique constraint on 'Volume', fields ['user', 'name'] + db.create_unique('archive_volume', ['user_id', 'name']) + + # Adding model 'Instance' + db.create_table('archive_instance', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), + ('modified', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)), + ('atime', self.gf('django.db.models.fields.IntegerField')(default=1351855089)), + ('ctime', self.gf('django.db.models.fields.IntegerField')(default=1351855089)), + ('mtime', self.gf('django.db.models.fields.IntegerField')(default=1351855089)), + ('path', self.gf('django.db.models.fields.CharField')(max_length=2048)), + ('ignore', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('file', self.gf('django.db.models.fields.related.ForeignKey')(related_name='instances', to=orm['archive.File'])), + ('volume', self.gf('django.db.models.fields.related.ForeignKey')(related_name='files', to=orm['archive.Volume'])), + )) + db.send_create_signal('archive', ['Instance']) + + # Adding unique constraint on 'Instance', fields ['path', 'volume'] + db.create_unique('archive_instance', ['path', 'volume_id']) + + # Adding model 'Frame' + db.create_table('archive_frame', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), + ('modified', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)), + ('file', self.gf('django.db.models.fields.related.ForeignKey')(related_name='frames', to=orm['archive.File'])), + ('position', self.gf('django.db.models.fields.FloatField')()), + ('frame', self.gf('django.db.models.fields.files.ImageField')(default=None, max_length=100, null=True)), + )) + db.send_create_signal('archive', ['Frame']) + + # Adding unique constraint on 'Frame', fields ['file', 'position'] + db.create_unique('archive_frame', ['file_id', 'position']) + + # Adding model 'Stream' + db.create_table('archive_stream', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('file', self.gf('django.db.models.fields.related.ForeignKey')(related_name='streams', to=orm['archive.File'])), + ('resolution', self.gf('django.db.models.fields.IntegerField')(default=96)), + ('format', self.gf('django.db.models.fields.CharField')(default='webm', max_length=255)), + ('video', self.gf('django.db.models.fields.files.FileField')(default=None, max_length=100, blank=True)), + ('source', self.gf('django.db.models.fields.related.ForeignKey')(default=None, related_name='derivatives', null=True, to=orm['archive.Stream'])), + ('available', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('oshash', self.gf('django.db.models.fields.CharField')(max_length=16, null=True, db_index=True)), + ('info', self.gf('ox.django.fields.DictField')(default={})), + ('duration', self.gf('django.db.models.fields.FloatField')(default=0)), + ('aspect_ratio', self.gf('django.db.models.fields.FloatField')(default=0)), + ('cuts', self.gf('ox.django.fields.TupleField')(default=[])), + ('color', self.gf('ox.django.fields.TupleField')(default=[])), + ('volume', self.gf('django.db.models.fields.FloatField')(default=0)), + )) + db.send_create_signal('archive', ['Stream']) + + # Adding unique constraint on 'Stream', fields ['file', 'resolution', 'format'] + db.create_unique('archive_stream', ['file_id', 'resolution', 'format']) + + + def backwards(self, orm): + # Removing unique constraint on 'Stream', fields ['file', 'resolution', 'format'] + db.delete_unique('archive_stream', ['file_id', 'resolution', 'format']) + + # Removing unique constraint on 'Frame', fields ['file', 'position'] + db.delete_unique('archive_frame', ['file_id', 'position']) + + # Removing unique constraint on 'Instance', fields ['path', 'volume'] + db.delete_unique('archive_instance', ['path', 'volume_id']) + + # Removing unique constraint on 'Volume', fields ['user', 'name'] + db.delete_unique('archive_volume', ['user_id', 'name']) + + # Deleting model 'File' + db.delete_table('archive_file') + + # Deleting model 'Volume' + db.delete_table('archive_volume') + + # Deleting model 'Instance' + db.delete_table('archive_instance') + + # Deleting model 'Frame' + db.delete_table('archive_frame') + + # Deleting model 'Stream' + db.delete_table('archive_stream') + + + models = { + 'archive.file': { + 'Meta': {'object_name': 'File'}, + 'audio_codec': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'bits_per_pixel': ('django.db.models.fields.FloatField', [], {'default': '-1'}), + 'channels': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'data': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'display_aspect_ratio': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'duration': ('django.db.models.fields.FloatField', [], {'null': 'True'}), + 'extension': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255', 'null': 'True'}), + 'framerate': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'height': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'info': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'is_audio': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_subtitle': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_video': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'item': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'files'", 'to': "orm['item.Item']"}), + 'language': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '8', 'null': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'oshash': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '16'}), + 'part': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255', 'null': 'True'}), + 'part_title': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255', 'null': 'True'}), + 'path': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '2048'}), + 'path_info': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'pixel_format': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'pixels': ('django.db.models.fields.BigIntegerField', [], {'default': '0'}), + 'samplerate': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'selected': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'size': ('django.db.models.fields.BigIntegerField', [], {'default': '0'}), + 'sort_path': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '2048'}), + 'type': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255'}), + 'uploading': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'version': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255', 'null': 'True'}), + 'video_codec': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'wanted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'width': ('django.db.models.fields.IntegerField', [], {'default': '0'}) + }, + 'archive.frame': { + 'Meta': {'unique_together': "(('file', 'position'),)", 'object_name': 'Frame'}, + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'file': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'frames'", 'to': "orm['archive.File']"}), + 'frame': ('django.db.models.fields.files.ImageField', [], {'default': 'None', 'max_length': '100', 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'position': ('django.db.models.fields.FloatField', [], {}) + }, + 'archive.instance': { + 'Meta': {'unique_together': "(('path', 'volume'),)", 'object_name': 'Instance'}, + 'atime': ('django.db.models.fields.IntegerField', [], {'default': '1351855089'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'ctime': ('django.db.models.fields.IntegerField', [], {'default': '1351855089'}), + 'file': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'instances'", 'to': "orm['archive.File']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ignore': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'mtime': ('django.db.models.fields.IntegerField', [], {'default': '1351855089'}), + 'path': ('django.db.models.fields.CharField', [], {'max_length': '2048'}), + 'volume': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'files'", 'to': "orm['archive.Volume']"}) + }, + 'archive.stream': { + 'Meta': {'unique_together': "(('file', 'resolution', 'format'),)", 'object_name': 'Stream'}, + 'aspect_ratio': ('django.db.models.fields.FloatField', [], {'default': '0'}), + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'color': ('ox.django.fields.TupleField', [], {'default': '[]'}), + 'cuts': ('ox.django.fields.TupleField', [], {'default': '[]'}), + 'duration': ('django.db.models.fields.FloatField', [], {'default': '0'}), + 'file': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'streams'", 'to': "orm['archive.File']"}), + 'format': ('django.db.models.fields.CharField', [], {'default': "'webm'", 'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'info': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'oshash': ('django.db.models.fields.CharField', [], {'max_length': '16', 'null': 'True', 'db_index': 'True'}), + 'resolution': ('django.db.models.fields.IntegerField', [], {'default': '96'}), + 'source': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'derivatives'", 'null': 'True', 'to': "orm['archive.Stream']"}), + 'video': ('django.db.models.fields.files.FileField', [], {'default': 'None', 'max_length': '100', 'blank': 'True'}), + 'volume': ('django.db.models.fields.FloatField', [], {'default': '0'}) + }, + 'archive.volume': { + 'Meta': {'unique_together': "(('user', 'name'),)", 'object_name': 'Volume'}, + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '1024'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'volumes'", 'to': "orm['auth.User']"}) + }, + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '255', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'item.item': { + 'Meta': {'object_name': 'Item'}, + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'data': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'external_data': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'items'", 'blank': 'True', 'to': "orm['auth.Group']"}), + 'icon': ('django.db.models.fields.files.ImageField', [], {'default': 'None', 'max_length': '100', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'itemId': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128', 'blank': 'True'}), + 'json': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'level': ('django.db.models.fields.IntegerField', [], {'db_index': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'notes': ('django.db.models.fields.TextField', [], {'default': "''"}), + 'oxdbId': ('django.db.models.fields.CharField', [], {'max_length': '42', 'unique': 'True', 'null': 'True', 'blank': 'True'}), + 'poster': ('django.db.models.fields.files.ImageField', [], {'default': 'None', 'max_length': '100', 'blank': 'True'}), + 'poster_frame': ('django.db.models.fields.FloatField', [], {'default': '-1'}), + 'poster_height': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'poster_source': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'poster_width': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'rendered': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}), + 'stream_aspect': ('django.db.models.fields.FloatField', [], {'default': '1.3333333333333333'}), + 'stream_info': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'torrent': ('django.db.models.fields.files.FileField', [], {'default': 'None', 'max_length': '1000', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'items'", 'null': 'True', 'to': "orm['auth.User']"}) + } + } + + complete_apps = ['archive'] \ No newline at end of file diff --git a/pandora/archive/migrations/__init__.py b/pandora/archive/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pandora/archive/models.py b/pandora/archive/models.py index 500aa9c5..2660af53 100644 --- a/pandora/archive/models.py +++ b/pandora/archive/models.py @@ -155,9 +155,10 @@ class File(models.Model): if data['isEpisode'] and data['seriesYear'] == None: data['seriesYear'] = data['year'] data['type'] = 'unknown' - for type in ox.movie.EXTENSIONS: - if data['extension'] in ox.movie.EXTENSIONS[type]: - data['type'] = type + if 'extension' in data: + for type in ox.movie.EXTENSIONS: + if data['extension'] in ox.movie.EXTENSIONS[type]: + data['type'] = type return data def normalize_path(self): @@ -283,7 +284,7 @@ class File(models.Model): 'wanted': self.wanted, } for key in ('part', 'partTitle', 'version', 'language', 'extension'): - data[key] = self.path_info[key] + data[key] = self.path_info.get(key) data['users'] = list(set([i['user'] for i in data['instances']])) if keys: for k in data.keys(): diff --git a/pandora/changelog/migrations/0001_initial.py b/pandora/changelog/migrations/0001_initial.py new file mode 100644 index 00000000..9572a67d --- /dev/null +++ b/pandora/changelog/migrations/0001_initial.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'Changelog' + db.create_table('changelog_changelog', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), + ('type', self.gf('django.db.models.fields.CharField')(max_length=255, db_index=True)), + ('value', self.gf('ox.django.fields.DictField')(default={})), + )) + db.send_create_signal('changelog', ['Changelog']) + + + def backwards(self, orm): + # Deleting model 'Changelog' + db.delete_table('changelog_changelog') + + + models = { + 'changelog.changelog': { + 'Meta': {'object_name': 'Changelog'}, + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}), + 'value': ('ox.django.fields.DictField', [], {'default': '{}'}) + } + } + + complete_apps = ['changelog'] \ No newline at end of file diff --git a/pandora/changelog/migrations/__init__.py b/pandora/changelog/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pandora/clip/migrations/0001_initial.py b/pandora/clip/migrations/0001_initial.py new file mode 100644 index 00000000..0f97c4e8 --- /dev/null +++ b/pandora/clip/migrations/0001_initial.py @@ -0,0 +1,191 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'Clip' + db.create_table('clip_clip', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), + ('modified', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)), + ('aspect_ratio', self.gf('django.db.models.fields.FloatField')(default=0)), + ('item', self.gf('django.db.models.fields.related.ForeignKey')(related_name='clips', to=orm['item.Item'])), + ('sort', self.gf('django.db.models.fields.related.ForeignKey')(related_name='matching_clips', to=orm['item.ItemSort'])), + ('user', self.gf('django.db.models.fields.IntegerField')(null=True, db_index=True)), + ('start', self.gf('django.db.models.fields.FloatField')(default=-1, db_index=True)), + ('end', self.gf('django.db.models.fields.FloatField')(default=-1)), + ('duration', self.gf('django.db.models.fields.FloatField')(default=0, db_index=True)), + ('hue', self.gf('django.db.models.fields.FloatField')(default=0, db_index=True)), + ('saturation', self.gf('django.db.models.fields.FloatField')(default=0, db_index=True)), + ('lightness', self.gf('django.db.models.fields.FloatField')(default=0, db_index=True)), + ('volume', self.gf('django.db.models.fields.FloatField')(default=0, null=True, db_index=True)), + ('sortvalue', self.gf('django.db.models.fields.CharField')(max_length=1000, null=True, db_index=True)), + ('findvalue', self.gf('django.db.models.fields.TextField')(null=True, db_index=True)), + ('subtitles', self.gf('django.db.models.fields.BooleanField')(default=False, db_index=True)), + )) + db.send_create_signal('clip', ['Clip']) + + # Adding unique constraint on 'Clip', fields ['item', 'start', 'end'] + db.create_unique('clip_clip', ['item_id', 'start', 'end']) + + # Adding model 'Random' + db.create_table('clip_random', ( + ('clip', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['clip.Clip'], primary_key=True)), + ('random', self.gf('django.db.models.fields.BigIntegerField')(null=True, db_index=True)), + )) + db.send_create_signal('clip', ['Random']) + + + def backwards(self, orm): + # Removing unique constraint on 'Clip', fields ['item', 'start', 'end'] + db.delete_unique('clip_clip', ['item_id', 'start', 'end']) + + # Deleting model 'Clip' + db.delete_table('clip_clip') + + # Deleting model 'Random' + db.delete_table('clip_random') + + + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '255', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}) + }, + 'clip.clip': { + 'Meta': {'unique_together': "(('item', 'start', 'end'),)", 'object_name': 'Clip'}, + 'aspect_ratio': ('django.db.models.fields.FloatField', [], {'default': '0'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'duration': ('django.db.models.fields.FloatField', [], {'default': '0', 'db_index': 'True'}), + 'end': ('django.db.models.fields.FloatField', [], {'default': '-1'}), + 'findvalue': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_index': 'True'}), + 'hue': ('django.db.models.fields.FloatField', [], {'default': '0', 'db_index': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'item': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'clips'", 'to': "orm['item.Item']"}), + 'lightness': ('django.db.models.fields.FloatField', [], {'default': '0', 'db_index': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'saturation': ('django.db.models.fields.FloatField', [], {'default': '0', 'db_index': 'True'}), + 'sort': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'matching_clips'", 'to': "orm['item.ItemSort']"}), + 'sortvalue': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'start': ('django.db.models.fields.FloatField', [], {'default': '-1', 'db_index': 'True'}), + 'subtitles': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}), + 'user': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'db_index': 'True'}), + 'volume': ('django.db.models.fields.FloatField', [], {'default': '0', 'null': 'True', 'db_index': 'True'}) + }, + 'clip.random': { + 'Meta': {'object_name': 'Random'}, + 'clip': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['clip.Clip']", 'primary_key': 'True'}), + 'random': ('django.db.models.fields.BigIntegerField', [], {'null': 'True', 'db_index': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'item.item': { + 'Meta': {'object_name': 'Item'}, + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'data': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'external_data': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'items'", 'blank': 'True', 'to': "orm['auth.Group']"}), + 'icon': ('django.db.models.fields.files.ImageField', [], {'default': 'None', 'max_length': '100', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'itemId': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128', 'blank': 'True'}), + 'json': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'level': ('django.db.models.fields.IntegerField', [], {'db_index': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'notes': ('django.db.models.fields.TextField', [], {'default': "''"}), + 'oxdbId': ('django.db.models.fields.CharField', [], {'max_length': '42', 'unique': 'True', 'null': 'True', 'blank': 'True'}), + 'poster': ('django.db.models.fields.files.ImageField', [], {'default': 'None', 'max_length': '100', 'blank': 'True'}), + 'poster_frame': ('django.db.models.fields.FloatField', [], {'default': '-1'}), + 'poster_height': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'poster_source': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'poster_width': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'rendered': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}), + 'stream_aspect': ('django.db.models.fields.FloatField', [], {'default': '1.3333333333333333'}), + 'stream_info': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'torrent': ('django.db.models.fields.files.FileField', [], {'default': 'None', 'max_length': '1000', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'items'", 'null': 'True', 'to': "orm['auth.User']"}) + }, + 'item.itemsort': { + 'Meta': {'object_name': 'ItemSort'}, + 'accessed': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'aspectratio': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'bitrate': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'budget': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'cinematographer': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'country': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'cutsperminute': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'director': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'duration': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'editor': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'genre': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'gross': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'height': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'hue': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'item': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'sort'", 'unique': 'True', 'primary_key': 'True', 'to': "orm['item.Item']"}), + 'itemId': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'language': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'lightness': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'likes': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'numberofactors': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'numberofcuts': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'numberoffiles': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'parts': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'pixels': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'producer': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'profit': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'random': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'releasedate': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'resolution': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'rightslevel': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'runtime': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'saturation': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'size': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'timesaccessed': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'volume': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'votes': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'width': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'words': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'wordsperminute': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'writer': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'year': ('django.db.models.fields.CharField', [], {'max_length': '4', 'null': 'True', 'db_index': 'True'}) + } + } + + complete_apps = ['clip'] \ No newline at end of file diff --git a/pandora/clip/migrations/__init__.py b/pandora/clip/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pandora/edit/migrations/0001_initial.py b/pandora/edit/migrations/0001_initial.py new file mode 100644 index 00000000..cf56c10c --- /dev/null +++ b/pandora/edit/migrations/0001_initial.py @@ -0,0 +1,138 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'Edit' + db.create_table('edit_edit', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), + ('modified', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), + ('name', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('public', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('duration', self.gf('django.db.models.fields.FloatField')(default=0)), + )) + db.send_create_signal('edit', ['Edit']) + + # Adding unique constraint on 'Edit', fields ['user', 'name'] + db.create_unique('edit_edit', ['user_id', 'name']) + + # Adding model 'Clip' + db.create_table('edit_clip', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), + ('modified', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)), + ('edit', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['edit.Edit'])), + ('position', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('edit_position', self.gf('django.db.models.fields.FloatField')(default=0)), + ('item', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['item.Item'])), + ('start', self.gf('django.db.models.fields.FloatField')(default=0)), + ('end', self.gf('django.db.models.fields.FloatField')(default=0)), + )) + db.send_create_signal('edit', ['Clip']) + + + def backwards(self, orm): + # Removing unique constraint on 'Edit', fields ['user', 'name'] + db.delete_unique('edit_edit', ['user_id', 'name']) + + # Deleting model 'Edit' + db.delete_table('edit_edit') + + # Deleting model 'Clip' + db.delete_table('edit_clip') + + + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '255', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'edit.clip': { + 'Meta': {'object_name': 'Clip'}, + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'edit': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['edit.Edit']"}), + 'edit_position': ('django.db.models.fields.FloatField', [], {'default': '0'}), + 'end': ('django.db.models.fields.FloatField', [], {'default': '0'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'item': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['item.Item']"}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'position': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'start': ('django.db.models.fields.FloatField', [], {'default': '0'}) + }, + 'edit.edit': { + 'Meta': {'unique_together': "(('user', 'name'),)", 'object_name': 'Edit'}, + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'duration': ('django.db.models.fields.FloatField', [], {'default': '0'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'public': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'item.item': { + 'Meta': {'object_name': 'Item'}, + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'data': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'external_data': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'items'", 'blank': 'True', 'to': "orm['auth.Group']"}), + 'icon': ('django.db.models.fields.files.ImageField', [], {'default': 'None', 'max_length': '100', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'itemId': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128', 'blank': 'True'}), + 'json': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'level': ('django.db.models.fields.IntegerField', [], {'db_index': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'notes': ('django.db.models.fields.TextField', [], {'default': "''"}), + 'oxdbId': ('django.db.models.fields.CharField', [], {'max_length': '42', 'unique': 'True', 'null': 'True', 'blank': 'True'}), + 'poster': ('django.db.models.fields.files.ImageField', [], {'default': 'None', 'max_length': '100', 'blank': 'True'}), + 'poster_frame': ('django.db.models.fields.FloatField', [], {'default': '-1'}), + 'poster_height': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'poster_source': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'poster_width': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'rendered': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}), + 'stream_aspect': ('django.db.models.fields.FloatField', [], {'default': '1.3333333333333333'}), + 'stream_info': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'torrent': ('django.db.models.fields.files.FileField', [], {'default': 'None', 'max_length': '1000', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'items'", 'null': 'True', 'to': "orm['auth.User']"}) + } + } + + complete_apps = ['edit'] \ No newline at end of file diff --git a/pandora/edit/migrations/__init__.py b/pandora/edit/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pandora/event/migrations/0001_initial.py b/pandora/event/migrations/0001_initial.py new file mode 100644 index 00000000..9b100efe --- /dev/null +++ b/pandora/event/migrations/0001_initial.py @@ -0,0 +1,232 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'Event' + db.create_table('event_event', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), + ('modified', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)), + ('defined', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='events', null=True, to=orm['auth.User'])), + ('name', self.gf('django.db.models.fields.CharField')(max_length=255, unique=True, null=True)), + ('name_sort', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, db_index=True)), + ('name_find', self.gf('django.db.models.fields.TextField')(default='')), + ('wikipediaId', self.gf('django.db.models.fields.CharField')(max_length=1000, blank=True)), + ('alternativeNames', self.gf('ox.django.fields.TupleField')(default=[])), + ('start', self.gf('django.db.models.fields.CharField')(default='', max_length=255)), + ('startTime', self.gf('django.db.models.fields.BigIntegerField')(default=None, null=True)), + ('end', self.gf('django.db.models.fields.CharField')(default='', max_length=255)), + ('endTime', self.gf('django.db.models.fields.BigIntegerField')(default=None, null=True)), + ('duration', self.gf('django.db.models.fields.CharField')(default='', max_length=255)), + ('durationTime', self.gf('django.db.models.fields.BigIntegerField')(default=None, null=True)), + ('type', self.gf('django.db.models.fields.CharField')(default='', max_length=255)), + ('matches', self.gf('django.db.models.fields.IntegerField')(default=0)), + )) + db.send_create_signal('event', ['Event']) + + # Adding M2M table for field items on 'Event' + db.create_table('event_event_items', ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('event', models.ForeignKey(orm['event.event'], null=False)), + ('item', models.ForeignKey(orm['item.item'], null=False)) + )) + db.create_unique('event_event_items', ['event_id', 'item_id']) + + # Adding M2M table for field annotations on 'Event' + db.create_table('event_event_annotations', ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('event', models.ForeignKey(orm['event.event'], null=False)), + ('annotation', models.ForeignKey(orm['annotation.annotation'], null=False)) + )) + db.create_unique('event_event_annotations', ['event_id', 'annotation_id']) + + + def backwards(self, orm): + # Deleting model 'Event' + db.delete_table('event_event') + + # Removing M2M table for field items on 'Event' + db.delete_table('event_event_items') + + # Removing M2M table for field annotations on 'Event' + db.delete_table('event_event_annotations') + + + models = { + 'annotation.annotation': { + 'Meta': {'object_name': 'Annotation'}, + 'clip': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'annotations'", 'null': 'True', 'to': "orm['clip.Clip']"}), + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'end': ('django.db.models.fields.FloatField', [], {'default': '-1', 'db_index': 'True'}), + 'findvalue': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'item': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'annotations'", 'to': "orm['item.Item']"}), + 'layer': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'public_id': ('django.db.models.fields.CharField', [], {'max_length': '128', 'unique': 'True', 'null': 'True'}), + 'sortvalue': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '1000', 'null': 'True', 'blank': 'True'}), + 'start': ('django.db.models.fields.FloatField', [], {'default': '-1', 'db_index': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}), + 'value': ('django.db.models.fields.TextField', [], {}) + }, + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '255', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}) + }, + 'clip.clip': { + 'Meta': {'unique_together': "(('item', 'start', 'end'),)", 'object_name': 'Clip'}, + 'aspect_ratio': ('django.db.models.fields.FloatField', [], {'default': '0'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'duration': ('django.db.models.fields.FloatField', [], {'default': '0', 'db_index': 'True'}), + 'end': ('django.db.models.fields.FloatField', [], {'default': '-1'}), + 'findvalue': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_index': 'True'}), + 'hue': ('django.db.models.fields.FloatField', [], {'default': '0', 'db_index': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'item': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'clips'", 'to': "orm['item.Item']"}), + 'lightness': ('django.db.models.fields.FloatField', [], {'default': '0', 'db_index': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'saturation': ('django.db.models.fields.FloatField', [], {'default': '0', 'db_index': 'True'}), + 'sort': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'matching_clips'", 'to': "orm['item.ItemSort']"}), + 'sortvalue': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'start': ('django.db.models.fields.FloatField', [], {'default': '-1', 'db_index': 'True'}), + 'subtitles': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}), + 'user': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'db_index': 'True'}), + 'volume': ('django.db.models.fields.FloatField', [], {'default': '0', 'null': 'True', 'db_index': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'event.event': { + 'Meta': {'object_name': 'Event'}, + 'alternativeNames': ('ox.django.fields.TupleField', [], {'default': '[]'}), + 'annotations': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'events'", 'blank': 'True', 'to': "orm['annotation.Annotation']"}), + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'defined': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'duration': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255'}), + 'durationTime': ('django.db.models.fields.BigIntegerField', [], {'default': 'None', 'null': 'True'}), + 'end': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255'}), + 'endTime': ('django.db.models.fields.BigIntegerField', [], {'default': 'None', 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'items': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'events'", 'blank': 'True', 'to': "orm['item.Item']"}), + 'matches': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': 'True', 'null': 'True'}), + 'name_find': ('django.db.models.fields.TextField', [], {'default': "''"}), + 'name_sort': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'db_index': 'True'}), + 'start': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255'}), + 'startTime': ('django.db.models.fields.BigIntegerField', [], {'default': 'None', 'null': 'True'}), + 'type': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'events'", 'null': 'True', 'to': "orm['auth.User']"}), + 'wikipediaId': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'blank': 'True'}) + }, + 'item.item': { + 'Meta': {'object_name': 'Item'}, + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'data': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'external_data': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'items'", 'blank': 'True', 'to': "orm['auth.Group']"}), + 'icon': ('django.db.models.fields.files.ImageField', [], {'default': 'None', 'max_length': '100', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'itemId': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128', 'blank': 'True'}), + 'json': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'level': ('django.db.models.fields.IntegerField', [], {'db_index': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'notes': ('django.db.models.fields.TextField', [], {'default': "''"}), + 'oxdbId': ('django.db.models.fields.CharField', [], {'max_length': '42', 'unique': 'True', 'null': 'True', 'blank': 'True'}), + 'poster': ('django.db.models.fields.files.ImageField', [], {'default': 'None', 'max_length': '100', 'blank': 'True'}), + 'poster_frame': ('django.db.models.fields.FloatField', [], {'default': '-1'}), + 'poster_height': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'poster_source': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'poster_width': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'rendered': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}), + 'stream_aspect': ('django.db.models.fields.FloatField', [], {'default': '1.3333333333333333'}), + 'stream_info': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'torrent': ('django.db.models.fields.files.FileField', [], {'default': 'None', 'max_length': '1000', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'items'", 'null': 'True', 'to': "orm['auth.User']"}) + }, + 'item.itemsort': { + 'Meta': {'object_name': 'ItemSort'}, + 'accessed': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'aspectratio': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'bitrate': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'budget': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'cinematographer': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'country': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'cutsperminute': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'director': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'duration': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'editor': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'genre': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'gross': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'height': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'hue': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'item': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'sort'", 'unique': 'True', 'primary_key': 'True', 'to': "orm['item.Item']"}), + 'itemId': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'language': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'lightness': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'likes': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'numberofactors': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'numberofcuts': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'numberoffiles': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'parts': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'pixels': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'producer': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'profit': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'random': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'releasedate': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'resolution': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'rightslevel': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'runtime': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'saturation': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'size': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'timesaccessed': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'volume': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'votes': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'width': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'words': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'wordsperminute': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'writer': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'year': ('django.db.models.fields.CharField', [], {'max_length': '4', 'null': 'True', 'db_index': 'True'}) + } + } + + complete_apps = ['event'] \ No newline at end of file diff --git a/pandora/event/migrations/__init__.py b/pandora/event/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pandora/item/migrations/0001_initial.py b/pandora/item/migrations/0001_initial.py new file mode 100644 index 00000000..4c02eb06 --- /dev/null +++ b/pandora/item/migrations/0001_initial.py @@ -0,0 +1,222 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'Item' + db.create_table('item_item', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), + ('modified', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='items', null=True, to=orm['auth.User'])), + ('rendered', self.gf('django.db.models.fields.BooleanField')(default=False, db_index=True)), + ('level', self.gf('django.db.models.fields.IntegerField')(db_index=True)), + ('itemId', self.gf('django.db.models.fields.CharField')(unique=True, max_length=128, blank=True)), + ('oxdbId', self.gf('django.db.models.fields.CharField')(max_length=42, unique=True, null=True, blank=True)), + ('external_data', self.gf('ox.django.fields.DictField')(default={})), + ('data', self.gf('ox.django.fields.DictField')(default={})), + ('json', self.gf('ox.django.fields.DictField')(default={})), + ('poster', self.gf('django.db.models.fields.files.ImageField')(default=None, max_length=100, blank=True)), + ('poster_source', self.gf('django.db.models.fields.TextField')(blank=True)), + ('poster_height', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('poster_width', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('poster_frame', self.gf('django.db.models.fields.FloatField')(default=-1)), + ('icon', self.gf('django.db.models.fields.files.ImageField')(default=None, max_length=100, blank=True)), + ('torrent', self.gf('django.db.models.fields.files.FileField')(default=None, max_length=1000, blank=True)), + ('stream_info', self.gf('ox.django.fields.DictField')(default={})), + ('notes', self.gf('django.db.models.fields.TextField')(default='')), + ('stream_aspect', self.gf('django.db.models.fields.FloatField')(default=1.3333333333333333)), + )) + db.send_create_signal('item', ['Item']) + + # Adding M2M table for field groups on 'Item' + db.create_table('item_item_groups', ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('item', models.ForeignKey(orm['item.item'], null=False)), + ('group', models.ForeignKey(orm['auth.group'], null=False)) + )) + db.create_unique('item_item_groups', ['item_id', 'group_id']) + + # Adding model 'ItemFind' + db.create_table('item_itemfind', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('item', self.gf('django.db.models.fields.related.ForeignKey')(related_name='find', to=orm['item.Item'])), + ('key', self.gf('django.db.models.fields.CharField')(max_length=200, db_index=True)), + ('value', self.gf('django.db.models.fields.TextField')(db_index=True, blank=True)), + )) + db.send_create_signal('item', ['ItemFind']) + + # Adding unique constraint on 'ItemFind', fields ['item', 'key'] + db.create_unique('item_itemfind', ['item_id', 'key']) + + # Adding model 'Access' + db.create_table('item_access', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('access', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)), + ('item', self.gf('django.db.models.fields.related.ForeignKey')(related_name='accessed', to=orm['item.Item'])), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='accessed_items', null=True, to=orm['auth.User'])), + ('accessed', self.gf('django.db.models.fields.IntegerField')(default=0)), + )) + db.send_create_signal('item', ['Access']) + + # Adding unique constraint on 'Access', fields ['item', 'user'] + db.create_unique('item_access', ['item_id', 'user_id']) + + # Adding model 'Facet' + db.create_table('item_facet', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('item', self.gf('django.db.models.fields.related.ForeignKey')(related_name='facets', to=orm['item.Item'])), + ('key', self.gf('django.db.models.fields.CharField')(max_length=200, db_index=True)), + ('value', self.gf('django.db.models.fields.CharField')(max_length=1000, db_index=True)), + ('sortvalue', self.gf('django.db.models.fields.CharField')(max_length=1000, db_index=True)), + )) + db.send_create_signal('item', ['Facet']) + + # Adding unique constraint on 'Facet', fields ['item', 'key', 'value'] + db.create_unique('item_facet', ['item_id', 'key', 'value']) + + # Adding model 'Description' + db.create_table('item_description', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('key', self.gf('django.db.models.fields.CharField')(max_length=200, db_index=True)), + ('value', self.gf('django.db.models.fields.CharField')(max_length=1000, db_index=True)), + ('description', self.gf('django.db.models.fields.TextField')()), + )) + db.send_create_signal('item', ['Description']) + + # Adding unique constraint on 'Description', fields ['key', 'value'] + db.create_unique('item_description', ['key', 'value']) + + + def backwards(self, orm): + # Removing unique constraint on 'Description', fields ['key', 'value'] + db.delete_unique('item_description', ['key', 'value']) + + # Removing unique constraint on 'Facet', fields ['item', 'key', 'value'] + db.delete_unique('item_facet', ['item_id', 'key', 'value']) + + # Removing unique constraint on 'Access', fields ['item', 'user'] + db.delete_unique('item_access', ['item_id', 'user_id']) + + # Removing unique constraint on 'ItemFind', fields ['item', 'key'] + db.delete_unique('item_itemfind', ['item_id', 'key']) + + # Deleting model 'Item' + db.delete_table('item_item') + + # Removing M2M table for field groups on 'Item' + db.delete_table('item_item_groups') + + # Deleting model 'ItemFind' + db.delete_table('item_itemfind') + + # Deleting model 'Access' + db.delete_table('item_access') + + # Deleting model 'Facet' + db.delete_table('item_facet') + + # Deleting model 'Description' + db.delete_table('item_description') + + + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '255', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'item.access': { + 'Meta': {'unique_together': "(('item', 'user'),)", 'object_name': 'Access'}, + 'access': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'accessed': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'item': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'accessed'", 'to': "orm['item.Item']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'accessed_items'", 'null': 'True', 'to': "orm['auth.User']"}) + }, + 'item.description': { + 'Meta': {'unique_together': "(('key', 'value'),)", 'object_name': 'Description'}, + 'description': ('django.db.models.fields.TextField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'key': ('django.db.models.fields.CharField', [], {'max_length': '200', 'db_index': 'True'}), + 'value': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'db_index': 'True'}) + }, + 'item.facet': { + 'Meta': {'unique_together': "(('item', 'key', 'value'),)", 'object_name': 'Facet'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'item': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'facets'", 'to': "orm['item.Item']"}), + 'key': ('django.db.models.fields.CharField', [], {'max_length': '200', 'db_index': 'True'}), + 'sortvalue': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'db_index': 'True'}), + 'value': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'db_index': 'True'}) + }, + 'item.item': { + 'Meta': {'object_name': 'Item'}, + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'data': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'external_data': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'items'", 'blank': 'True', 'to': "orm['auth.Group']"}), + 'icon': ('django.db.models.fields.files.ImageField', [], {'default': 'None', 'max_length': '100', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'itemId': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128', 'blank': 'True'}), + 'json': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'level': ('django.db.models.fields.IntegerField', [], {'db_index': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'notes': ('django.db.models.fields.TextField', [], {'default': "''"}), + 'oxdbId': ('django.db.models.fields.CharField', [], {'max_length': '42', 'unique': 'True', 'null': 'True', 'blank': 'True'}), + 'poster': ('django.db.models.fields.files.ImageField', [], {'default': 'None', 'max_length': '100', 'blank': 'True'}), + 'poster_frame': ('django.db.models.fields.FloatField', [], {'default': '-1'}), + 'poster_height': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'poster_source': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'poster_width': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'rendered': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}), + 'stream_aspect': ('django.db.models.fields.FloatField', [], {'default': '1.3333333333333333'}), + 'stream_info': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'torrent': ('django.db.models.fields.files.FileField', [], {'default': 'None', 'max_length': '1000', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'items'", 'null': 'True', 'to': "orm['auth.User']"}) + }, + 'item.itemfind': { + 'Meta': {'unique_together': "(('item', 'key'),)", 'object_name': 'ItemFind'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'item': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'find'", 'to': "orm['item.Item']"}), + 'key': ('django.db.models.fields.CharField', [], {'max_length': '200', 'db_index': 'True'}), + 'value': ('django.db.models.fields.TextField', [], {'db_index': 'True', 'blank': 'True'}) + } + } + + complete_apps = ['item'] diff --git a/pandora/item/migrations/__init__.py b/pandora/item/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pandora/itemlist/migrations/0001_initial.py b/pandora/itemlist/migrations/0001_initial.py new file mode 100644 index 00000000..529870fc --- /dev/null +++ b/pandora/itemlist/migrations/0001_initial.py @@ -0,0 +1,184 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'List' + db.create_table('itemlist_list', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), + ('modified', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='lists', to=orm['auth.User'])), + ('name', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('status', self.gf('django.db.models.fields.CharField')(default='private', max_length=20)), + ('query', self.gf('ox.django.fields.DictField')(default={'static': True})), + ('type', self.gf('django.db.models.fields.CharField')(default='static', max_length=255)), + ('description', self.gf('django.db.models.fields.TextField')(default='')), + ('icon', self.gf('django.db.models.fields.files.ImageField')(default=None, max_length=100, blank=True)), + ('view', self.gf('django.db.models.fields.TextField')(default=('g', 'r', 'i', 'd'))), + ('sort', self.gf('ox.django.fields.TupleField')(default=({'operator': '+', 'key': 'director'},))), + ('poster_frames', self.gf('ox.django.fields.TupleField')(default=[])), + ('numberofitems', self.gf('django.db.models.fields.IntegerField')(default=0)), + )) + db.send_create_signal('itemlist', ['List']) + + # Adding unique constraint on 'List', fields ['user', 'name'] + db.create_unique('itemlist_list', ['user_id', 'name']) + + # Adding M2M table for field subscribed_users on 'List' + db.create_table('itemlist_list_subscribed_users', ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('list', models.ForeignKey(orm['itemlist.list'], null=False)), + ('user', models.ForeignKey(orm['auth.user'], null=False)) + )) + db.create_unique('itemlist_list_subscribed_users', ['list_id', 'user_id']) + + # Adding model 'ListItem' + db.create_table('itemlist_listitem', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), + ('modified', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)), + ('list', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['itemlist.List'])), + ('item', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['item.Item'])), + )) + db.send_create_signal('itemlist', ['ListItem']) + + # Adding model 'Position' + db.create_table('itemlist_position', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('list', self.gf('django.db.models.fields.related.ForeignKey')(related_name='position', to=orm['itemlist.List'])), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), + ('section', self.gf('django.db.models.fields.CharField')(max_length='255')), + ('position', self.gf('django.db.models.fields.IntegerField')(default=0)), + )) + db.send_create_signal('itemlist', ['Position']) + + # Adding unique constraint on 'Position', fields ['user', 'list', 'section'] + db.create_unique('itemlist_position', ['user_id', 'list_id', 'section']) + + + def backwards(self, orm): + # Removing unique constraint on 'Position', fields ['user', 'list', 'section'] + db.delete_unique('itemlist_position', ['user_id', 'list_id', 'section']) + + # Removing unique constraint on 'List', fields ['user', 'name'] + db.delete_unique('itemlist_list', ['user_id', 'name']) + + # Deleting model 'List' + db.delete_table('itemlist_list') + + # Removing M2M table for field subscribed_users on 'List' + db.delete_table('itemlist_list_subscribed_users') + + # Deleting model 'ListItem' + db.delete_table('itemlist_listitem') + + # Deleting model 'Position' + db.delete_table('itemlist_position') + + + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '255', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'item.item': { + 'Meta': {'object_name': 'Item'}, + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'data': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'external_data': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'items'", 'blank': 'True', 'to': "orm['auth.Group']"}), + 'icon': ('django.db.models.fields.files.ImageField', [], {'default': 'None', 'max_length': '100', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'itemId': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128', 'blank': 'True'}), + 'json': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'level': ('django.db.models.fields.IntegerField', [], {'db_index': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'notes': ('django.db.models.fields.TextField', [], {'default': "''"}), + 'oxdbId': ('django.db.models.fields.CharField', [], {'max_length': '42', 'unique': 'True', 'null': 'True', 'blank': 'True'}), + 'poster': ('django.db.models.fields.files.ImageField', [], {'default': 'None', 'max_length': '100', 'blank': 'True'}), + 'poster_frame': ('django.db.models.fields.FloatField', [], {'default': '-1'}), + 'poster_height': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'poster_source': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'poster_width': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'rendered': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}), + 'stream_aspect': ('django.db.models.fields.FloatField', [], {'default': '1.3333333333333333'}), + 'stream_info': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'torrent': ('django.db.models.fields.files.FileField', [], {'default': 'None', 'max_length': '1000', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'items'", 'null': 'True', 'to': "orm['auth.User']"}) + }, + 'itemlist.list': { + 'Meta': {'unique_together': "(('user', 'name'),)", 'object_name': 'List'}, + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'default': "''"}), + 'icon': ('django.db.models.fields.files.ImageField', [], {'default': 'None', 'max_length': '100', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'items': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'lists'", 'symmetrical': 'False', 'through': "orm['itemlist.ListItem']", 'to': "orm['item.Item']"}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'numberofitems': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'poster_frames': ('ox.django.fields.TupleField', [], {'default': '[]'}), + 'query': ('ox.django.fields.DictField', [], {'default': "{'static': True}"}), + 'sort': ('ox.django.fields.TupleField', [], {'default': "({'operator': '+', 'key': 'director'},)"}), + 'status': ('django.db.models.fields.CharField', [], {'default': "'private'", 'max_length': '20'}), + 'subscribed_users': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'subscribed_lists'", 'symmetrical': 'False', 'to': "orm['auth.User']"}), + 'type': ('django.db.models.fields.CharField', [], {'default': "'static'", 'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'lists'", 'to': "orm['auth.User']"}), + 'view': ('django.db.models.fields.TextField', [], {'default': "('g', 'r', 'i', 'd')"}) + }, + 'itemlist.listitem': { + 'Meta': {'object_name': 'ListItem'}, + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'item': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['item.Item']"}), + 'list': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['itemlist.List']"}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}) + }, + 'itemlist.position': { + 'Meta': {'unique_together': "(('user', 'list', 'section'),)", 'object_name': 'Position'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'list': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'position'", 'to': "orm['itemlist.List']"}), + 'position': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'section': ('django.db.models.fields.CharField', [], {'max_length': "'255'"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + } + } + + complete_apps = ['itemlist'] \ No newline at end of file diff --git a/pandora/itemlist/migrations/__init__.py b/pandora/itemlist/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pandora/log/migrations/0001_initial.py b/pandora/log/migrations/0001_initial.py new file mode 100644 index 00000000..1c99561a --- /dev/null +++ b/pandora/log/migrations/0001_initial.py @@ -0,0 +1,78 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'Log' + db.create_table('log_log', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, db_index=True, blank=True)), + ('modified', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(default=None, to=orm['auth.User'], null=True, blank=True)), + ('url', self.gf('django.db.models.fields.CharField')(default='', max_length=1000)), + ('line', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('text', self.gf('django.db.models.fields.TextField')(blank=True)), + )) + db.send_create_signal('log', ['Log']) + + + def backwards(self, orm): + # Deleting model 'Log' + db.delete_table('log_log') + + + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '255', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'log.log': { + 'Meta': {'object_name': 'Log'}, + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'db_index': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'line': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'text': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'url': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '1000'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'}) + } + } + + complete_apps = ['log'] \ No newline at end of file diff --git a/pandora/log/migrations/__init__.py b/pandora/log/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pandora/monkey_patch/migrations/0001_initial.py b/pandora/monkey_patch/migrations/0001_initial.py new file mode 100644 index 00000000..5f2329d4 --- /dev/null +++ b/pandora/monkey_patch/migrations/0001_initial.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + pass + + def backwards(self, orm): + pass + + models = { + + } + + complete_apps = ['monkey_patch'] \ No newline at end of file diff --git a/pandora/monkey_patch/migrations/__init__.py b/pandora/monkey_patch/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pandora/news/migrations/0001_initial.py b/pandora/news/migrations/0001_initial.py new file mode 100644 index 00000000..875638a4 --- /dev/null +++ b/pandora/news/migrations/0001_initial.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'News' + db.create_table('news_news', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), + ('modified', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)), + ('title', self.gf('django.db.models.fields.TextField')()), + ('date', self.gf('django.db.models.fields.TextField')()), + ('text', self.gf('django.db.models.fields.TextField')()), + )) + db.send_create_signal('news', ['News']) + + + def backwards(self, orm): + # Deleting model 'News' + db.delete_table('news_news') + + + models = { + 'news.news': { + 'Meta': {'object_name': 'News'}, + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'date': ('django.db.models.fields.TextField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.TextField', [], {}) + } + } + + complete_apps = ['news'] \ No newline at end of file diff --git a/pandora/news/migrations/__init__.py b/pandora/news/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pandora/person/migrations/0001_initial.py b/pandora/person/migrations/0001_initial.py new file mode 100644 index 00000000..be1c37e8 --- /dev/null +++ b/pandora/person/migrations/0001_initial.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'Person' + db.create_table('person_person', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('name', self.gf('django.db.models.fields.CharField')(unique=True, max_length=200)), + ('sortname', self.gf('django.db.models.fields.CharField')(max_length=200)), + ('sortsortname', self.gf('django.db.models.fields.CharField')(max_length=200)), + ('edited', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('numberofnames', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('aliases', self.gf('ox.django.fields.TupleField')(default=[])), + ('imdbId', self.gf('django.db.models.fields.CharField')(max_length=7, blank=True)), + ('wikipediaId', self.gf('django.db.models.fields.CharField')(max_length=1000, blank=True)), + )) + db.send_create_signal('person', ['Person']) + + + def backwards(self, orm): + # Deleting model 'Person' + db.delete_table('person_person') + + + models = { + 'person.person': { + 'Meta': {'object_name': 'Person'}, + 'aliases': ('ox.django.fields.TupleField', [], {'default': '[]'}), + 'edited': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'imdbId': ('django.db.models.fields.CharField', [], {'max_length': '7', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '200'}), + 'numberofnames': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'sortname': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'sortsortname': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'wikipediaId': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'blank': 'True'}) + } + } + + complete_apps = ['person'] \ No newline at end of file diff --git a/pandora/person/migrations/__init__.py b/pandora/person/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pandora/place/migrations/0001_initial.py b/pandora/place/migrations/0001_initial.py new file mode 100644 index 00000000..83b7081f --- /dev/null +++ b/pandora/place/migrations/0001_initial.py @@ -0,0 +1,240 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'Place' + db.create_table('place_place', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), + ('modified', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)), + ('defined', self.gf('django.db.models.fields.BooleanField')(default=True)), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='places', null=True, to=orm['auth.User'])), + ('name', self.gf('django.db.models.fields.CharField')(max_length=1024)), + ('alternativeNames', self.gf('ox.django.fields.TupleField')(default=[])), + ('name_sort', self.gf('django.db.models.fields.CharField')(max_length=200, db_index=True)), + ('name_find', self.gf('django.db.models.fields.TextField')(default='')), + ('geoname', self.gf('django.db.models.fields.CharField')(max_length=1024, null=True)), + ('geoname_sort', self.gf('django.db.models.fields.CharField')(max_length=1024, null=True, db_index=True)), + ('countryCode', self.gf('django.db.models.fields.CharField')(default='', max_length=16, db_index=True)), + ('wikipediaId', self.gf('django.db.models.fields.CharField')(max_length=1000, blank=True)), + ('type', self.gf('django.db.models.fields.CharField')(default='', max_length=1000, db_index=True)), + ('south', self.gf('django.db.models.fields.FloatField')(default=None, null=True, db_index=True)), + ('west', self.gf('django.db.models.fields.FloatField')(default=None, null=True, db_index=True)), + ('north', self.gf('django.db.models.fields.FloatField')(default=None, null=True, db_index=True)), + ('east', self.gf('django.db.models.fields.FloatField')(default=None, null=True, db_index=True)), + ('lat', self.gf('django.db.models.fields.FloatField')(default=None, null=True, db_index=True)), + ('lng', self.gf('django.db.models.fields.FloatField')(default=None, null=True, db_index=True)), + ('area', self.gf('django.db.models.fields.FloatField')(default=None, null=True, db_index=True)), + ('matches', self.gf('django.db.models.fields.IntegerField')(default=0, db_index=True)), + )) + db.send_create_signal('place', ['Place']) + + # Adding M2M table for field items on 'Place' + db.create_table('place_place_items', ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('place', models.ForeignKey(orm['place.place'], null=False)), + ('item', models.ForeignKey(orm['item.item'], null=False)) + )) + db.create_unique('place_place_items', ['place_id', 'item_id']) + + # Adding M2M table for field annotations on 'Place' + db.create_table('place_place_annotations', ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('place', models.ForeignKey(orm['place.place'], null=False)), + ('annotation', models.ForeignKey(orm['annotation.annotation'], null=False)) + )) + db.create_unique('place_place_annotations', ['place_id', 'annotation_id']) + + + def backwards(self, orm): + # Deleting model 'Place' + db.delete_table('place_place') + + # Removing M2M table for field items on 'Place' + db.delete_table('place_place_items') + + # Removing M2M table for field annotations on 'Place' + db.delete_table('place_place_annotations') + + + models = { + 'annotation.annotation': { + 'Meta': {'object_name': 'Annotation'}, + 'clip': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'annotations'", 'null': 'True', 'to': "orm['clip.Clip']"}), + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'end': ('django.db.models.fields.FloatField', [], {'default': '-1', 'db_index': 'True'}), + 'findvalue': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'item': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'annotations'", 'to': "orm['item.Item']"}), + 'layer': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'public_id': ('django.db.models.fields.CharField', [], {'max_length': '128', 'unique': 'True', 'null': 'True'}), + 'sortvalue': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '1000', 'null': 'True', 'blank': 'True'}), + 'start': ('django.db.models.fields.FloatField', [], {'default': '-1', 'db_index': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}), + 'value': ('django.db.models.fields.TextField', [], {}) + }, + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '255', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}) + }, + 'clip.clip': { + 'Meta': {'unique_together': "(('item', 'start', 'end'),)", 'object_name': 'Clip'}, + 'aspect_ratio': ('django.db.models.fields.FloatField', [], {'default': '0'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'duration': ('django.db.models.fields.FloatField', [], {'default': '0', 'db_index': 'True'}), + 'end': ('django.db.models.fields.FloatField', [], {'default': '-1'}), + 'findvalue': ('django.db.models.fields.TextField', [], {'null': 'True', 'db_index': 'True'}), + 'hue': ('django.db.models.fields.FloatField', [], {'default': '0', 'db_index': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'item': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'clips'", 'to': "orm['item.Item']"}), + 'lightness': ('django.db.models.fields.FloatField', [], {'default': '0', 'db_index': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'saturation': ('django.db.models.fields.FloatField', [], {'default': '0', 'db_index': 'True'}), + 'sort': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'matching_clips'", 'to': "orm['item.ItemSort']"}), + 'sortvalue': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'start': ('django.db.models.fields.FloatField', [], {'default': '-1', 'db_index': 'True'}), + 'subtitles': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}), + 'user': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'db_index': 'True'}), + 'volume': ('django.db.models.fields.FloatField', [], {'default': '0', 'null': 'True', 'db_index': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'item.item': { + 'Meta': {'object_name': 'Item'}, + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'data': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'external_data': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'items'", 'blank': 'True', 'to': "orm['auth.Group']"}), + 'icon': ('django.db.models.fields.files.ImageField', [], {'default': 'None', 'max_length': '100', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'itemId': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128', 'blank': 'True'}), + 'json': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'level': ('django.db.models.fields.IntegerField', [], {'db_index': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'notes': ('django.db.models.fields.TextField', [], {'default': "''"}), + 'oxdbId': ('django.db.models.fields.CharField', [], {'max_length': '42', 'unique': 'True', 'null': 'True', 'blank': 'True'}), + 'poster': ('django.db.models.fields.files.ImageField', [], {'default': 'None', 'max_length': '100', 'blank': 'True'}), + 'poster_frame': ('django.db.models.fields.FloatField', [], {'default': '-1'}), + 'poster_height': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'poster_source': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'poster_width': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'rendered': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}), + 'stream_aspect': ('django.db.models.fields.FloatField', [], {'default': '1.3333333333333333'}), + 'stream_info': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'torrent': ('django.db.models.fields.files.FileField', [], {'default': 'None', 'max_length': '1000', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'items'", 'null': 'True', 'to': "orm['auth.User']"}) + }, + 'item.itemsort': { + 'Meta': {'object_name': 'ItemSort'}, + 'accessed': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'aspectratio': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'bitrate': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'budget': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'cinematographer': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'country': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'cutsperminute': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'director': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'duration': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'editor': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'genre': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'gross': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'height': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'hue': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'item': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'sort'", 'unique': 'True', 'primary_key': 'True', 'to': "orm['item.Item']"}), + 'itemId': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'language': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'lightness': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'likes': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'numberofactors': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'numberofcuts': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'numberoffiles': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'parts': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'pixels': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'producer': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'profit': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'random': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'releasedate': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'resolution': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'rightslevel': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'runtime': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'saturation': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'size': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'timesaccessed': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'volume': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'votes': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'width': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'words': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'wordsperminute': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'writer': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'year': ('django.db.models.fields.CharField', [], {'max_length': '4', 'null': 'True', 'db_index': 'True'}) + }, + 'place.place': { + 'Meta': {'ordering': "('name_sort',)", 'object_name': 'Place'}, + 'alternativeNames': ('ox.django.fields.TupleField', [], {'default': '[]'}), + 'annotations': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'places'", 'blank': 'True', 'to': "orm['annotation.Annotation']"}), + 'area': ('django.db.models.fields.FloatField', [], {'default': 'None', 'null': 'True', 'db_index': 'True'}), + 'countryCode': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '16', 'db_index': 'True'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'defined': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'east': ('django.db.models.fields.FloatField', [], {'default': 'None', 'null': 'True', 'db_index': 'True'}), + 'geoname': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True'}), + 'geoname_sort': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True', 'db_index': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'items': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'places'", 'blank': 'True', 'to': "orm['item.Item']"}), + 'lat': ('django.db.models.fields.FloatField', [], {'default': 'None', 'null': 'True', 'db_index': 'True'}), + 'lng': ('django.db.models.fields.FloatField', [], {'default': 'None', 'null': 'True', 'db_index': 'True'}), + 'matches': ('django.db.models.fields.IntegerField', [], {'default': '0', 'db_index': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '1024'}), + 'name_find': ('django.db.models.fields.TextField', [], {'default': "''"}), + 'name_sort': ('django.db.models.fields.CharField', [], {'max_length': '200', 'db_index': 'True'}), + 'north': ('django.db.models.fields.FloatField', [], {'default': 'None', 'null': 'True', 'db_index': 'True'}), + 'south': ('django.db.models.fields.FloatField', [], {'default': 'None', 'null': 'True', 'db_index': 'True'}), + 'type': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '1000', 'db_index': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'places'", 'null': 'True', 'to': "orm['auth.User']"}), + 'west': ('django.db.models.fields.FloatField', [], {'default': 'None', 'null': 'True', 'db_index': 'True'}), + 'wikipediaId': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'blank': 'True'}) + } + } + + complete_apps = ['place'] \ No newline at end of file diff --git a/pandora/place/migrations/__init__.py b/pandora/place/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pandora/sequence/migrations/0001_initial.py b/pandora/sequence/migrations/0001_initial.py new file mode 100644 index 00000000..8497775f --- /dev/null +++ b/pandora/sequence/migrations/0001_initial.py @@ -0,0 +1,160 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'Sequence' + db.create_table('sequence_sequence', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('mode', self.gf('django.db.models.fields.CharField')(max_length=128)), + ('item', self.gf('django.db.models.fields.related.ForeignKey')(related_name='sequences', null=True, to=orm['item.Item'])), + ('sort', self.gf('django.db.models.fields.related.ForeignKey')(related_name='sequences', null=True, to=orm['item.ItemSort'])), + ('user', self.gf('django.db.models.fields.IntegerField')(null=True, db_index=True)), + ('hash', self.gf('django.db.models.fields.CharField')(default='', max_length=16, db_index=True)), + ('start', self.gf('django.db.models.fields.FloatField')(default=-1, db_index=True)), + ('end', self.gf('django.db.models.fields.FloatField')(default=-1)), + ('duration', self.gf('django.db.models.fields.FloatField')(default=0)), + )) + db.send_create_signal('sequence', ['Sequence']) + + # Adding unique constraint on 'Sequence', fields ['item', 'start', 'end', 'mode'] + db.create_unique('sequence_sequence', ['item_id', 'start', 'end', 'mode']) + + + def backwards(self, orm): + # Removing unique constraint on 'Sequence', fields ['item', 'start', 'end', 'mode'] + db.delete_unique('sequence_sequence', ['item_id', 'start', 'end', 'mode']) + + # Deleting model 'Sequence' + db.delete_table('sequence_sequence') + + + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '255', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'item.item': { + 'Meta': {'object_name': 'Item'}, + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'data': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'external_data': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'items'", 'blank': 'True', 'to': "orm['auth.Group']"}), + 'icon': ('django.db.models.fields.files.ImageField', [], {'default': 'None', 'max_length': '100', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'itemId': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128', 'blank': 'True'}), + 'json': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'level': ('django.db.models.fields.IntegerField', [], {'db_index': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'notes': ('django.db.models.fields.TextField', [], {'default': "''"}), + 'oxdbId': ('django.db.models.fields.CharField', [], {'max_length': '42', 'unique': 'True', 'null': 'True', 'blank': 'True'}), + 'poster': ('django.db.models.fields.files.ImageField', [], {'default': 'None', 'max_length': '100', 'blank': 'True'}), + 'poster_frame': ('django.db.models.fields.FloatField', [], {'default': '-1'}), + 'poster_height': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'poster_source': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'poster_width': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'rendered': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}), + 'stream_aspect': ('django.db.models.fields.FloatField', [], {'default': '1.3333333333333333'}), + 'stream_info': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'torrent': ('django.db.models.fields.files.FileField', [], {'default': 'None', 'max_length': '1000', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'items'", 'null': 'True', 'to': "orm['auth.User']"}) + }, + 'item.itemsort': { + 'Meta': {'object_name': 'ItemSort'}, + 'accessed': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'aspectratio': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'bitrate': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'budget': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'cinematographer': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'country': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'cutsperminute': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'director': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'duration': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'editor': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'genre': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'gross': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'height': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'hue': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'item': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'sort'", 'unique': 'True', 'primary_key': 'True', 'to': "orm['item.Item']"}), + 'itemId': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'language': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'lightness': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'likes': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'numberofactors': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'numberofcuts': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'numberoffiles': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'parts': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'pixels': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'producer': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'profit': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'random': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'releasedate': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'resolution': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'rightslevel': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'runtime': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'saturation': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'size': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'timesaccessed': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'volume': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'votes': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'width': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'words': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'wordsperminute': ('django.db.models.fields.FloatField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), + 'writer': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True', 'db_index': 'True'}), + 'year': ('django.db.models.fields.CharField', [], {'max_length': '4', 'null': 'True', 'db_index': 'True'}) + }, + 'sequence.sequence': { + 'Meta': {'unique_together': "(('item', 'start', 'end', 'mode'),)", 'object_name': 'Sequence'}, + 'duration': ('django.db.models.fields.FloatField', [], {'default': '0'}), + 'end': ('django.db.models.fields.FloatField', [], {'default': '-1'}), + 'hash': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '16', 'db_index': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'item': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sequences'", 'null': 'True', 'to': "orm['item.Item']"}), + 'mode': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'sort': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sequences'", 'null': 'True', 'to': "orm['item.ItemSort']"}), + 'start': ('django.db.models.fields.FloatField', [], {'default': '-1', 'db_index': 'True'}), + 'user': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'db_index': 'True'}) + } + } + + complete_apps = ['sequence'] \ No newline at end of file diff --git a/pandora/sequence/migrations/__init__.py b/pandora/sequence/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pandora/settings.py b/pandora/settings.py index c36cba89..1021c95d 100644 --- a/pandora/settings.py +++ b/pandora/settings.py @@ -103,7 +103,7 @@ INSTALLED_APPS = ( 'django_extensions', 'devserver', -# 'south', + 'south', 'djcelery', 'app', 'log', diff --git a/pandora/text/migrations/0001_initial.py b/pandora/text/migrations/0001_initial.py new file mode 100644 index 00000000..51042be0 --- /dev/null +++ b/pandora/text/migrations/0001_initial.py @@ -0,0 +1,116 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'Text' + db.create_table('text_text', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), + ('modified', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)), + ('published', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('public', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), + ('slug', self.gf('django.db.models.fields.SlugField')(max_length=50)), + ('title', self.gf('django.db.models.fields.CharField')(max_length=1000, null=True)), + ('text', self.gf('django.db.models.fields.TextField')(default='')), + )) + db.send_create_signal('text', ['Text']) + + # Adding model 'Image' + db.create_table('text_image', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('image', self.gf('django.db.models.fields.files.ImageField')(max_length=100)), + ('caption', self.gf('django.db.models.fields.CharField')(default='', max_length=255)), + )) + db.send_create_signal('text', ['Image']) + + # Adding model 'Attachment' + db.create_table('text_attachment', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('file', self.gf('django.db.models.fields.files.FileField')(max_length=100)), + ('caption', self.gf('django.db.models.fields.CharField')(default='', max_length=255)), + )) + db.send_create_signal('text', ['Attachment']) + + + def backwards(self, orm): + # Deleting model 'Text' + db.delete_table('text_text') + + # Deleting model 'Image' + db.delete_table('text_image') + + # Deleting model 'Attachment' + db.delete_table('text_attachment') + + + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '255', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'text.attachment': { + 'Meta': {'object_name': 'Attachment'}, + 'caption': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255'}), + 'file': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}) + }, + 'text.image': { + 'Meta': {'object_name': 'Image'}, + 'caption': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}) + }, + 'text.text': { + 'Meta': {'object_name': 'Text'}, + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'public': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'published': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50'}), + 'text': ('django.db.models.fields.TextField', [], {'default': "''"}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'null': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + } + } + + complete_apps = ['text'] \ No newline at end of file diff --git a/pandora/text/migrations/__init__.py b/pandora/text/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pandora/title/migrations/0001_initial.py b/pandora/title/migrations/0001_initial.py new file mode 100644 index 00000000..7b6577ed --- /dev/null +++ b/pandora/title/migrations/0001_initial.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'Title' + db.create_table('title_title', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('title', self.gf('django.db.models.fields.CharField')(unique=True, max_length=1000)), + ('sorttitle', self.gf('django.db.models.fields.CharField')(max_length=1000)), + ('sortsorttitle', self.gf('django.db.models.fields.CharField')(max_length=1000)), + ('edited', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('imdbId', self.gf('django.db.models.fields.CharField')(max_length=7, blank=True)), + )) + db.send_create_signal('title', ['Title']) + + + def backwards(self, orm): + # Deleting model 'Title' + db.delete_table('title_title') + + + models = { + 'title.title': { + 'Meta': {'object_name': 'Title'}, + 'edited': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'imdbId': ('django.db.models.fields.CharField', [], {'max_length': '7', 'blank': 'True'}), + 'sortsorttitle': ('django.db.models.fields.CharField', [], {'max_length': '1000'}), + 'sorttitle': ('django.db.models.fields.CharField', [], {'max_length': '1000'}), + 'title': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '1000'}) + } + } + + complete_apps = ['title'] \ No newline at end of file diff --git a/pandora/title/migrations/__init__.py b/pandora/title/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pandora/tv/migrations/0001_initial.py b/pandora/tv/migrations/0001_initial.py new file mode 100644 index 00000000..9d55e9cb --- /dev/null +++ b/pandora/tv/migrations/0001_initial.py @@ -0,0 +1,153 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'Channel' + db.create_table('tv_channel', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), + ('modified', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)), + ('run', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('list', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='channel', unique=True, null=True, to=orm['itemlist.List'])), + )) + db.send_create_signal('tv', ['Channel']) + + # Adding model 'Program' + db.create_table('tv_program', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), + ('modified', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)), + ('run', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('start', self.gf('django.db.models.fields.DateTimeField')()), + ('end', self.gf('django.db.models.fields.DateTimeField')()), + ('item', self.gf('django.db.models.fields.related.ForeignKey')(related_name='program', to=orm['item.Item'])), + ('channel', self.gf('django.db.models.fields.related.ForeignKey')(related_name='program', to=orm['tv.Channel'])), + )) + db.send_create_signal('tv', ['Program']) + + + def backwards(self, orm): + # Deleting model 'Channel' + db.delete_table('tv_channel') + + # Deleting model 'Program' + db.delete_table('tv_program') + + + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '255', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'item.item': { + 'Meta': {'object_name': 'Item'}, + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'data': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'external_data': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'items'", 'blank': 'True', 'to': "orm['auth.Group']"}), + 'icon': ('django.db.models.fields.files.ImageField', [], {'default': 'None', 'max_length': '100', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'itemId': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128', 'blank': 'True'}), + 'json': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'level': ('django.db.models.fields.IntegerField', [], {'db_index': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'notes': ('django.db.models.fields.TextField', [], {'default': "''"}), + 'oxdbId': ('django.db.models.fields.CharField', [], {'max_length': '42', 'unique': 'True', 'null': 'True', 'blank': 'True'}), + 'poster': ('django.db.models.fields.files.ImageField', [], {'default': 'None', 'max_length': '100', 'blank': 'True'}), + 'poster_frame': ('django.db.models.fields.FloatField', [], {'default': '-1'}), + 'poster_height': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'poster_source': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'poster_width': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'rendered': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}), + 'stream_aspect': ('django.db.models.fields.FloatField', [], {'default': '1.3333333333333333'}), + 'stream_info': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'torrent': ('django.db.models.fields.files.FileField', [], {'default': 'None', 'max_length': '1000', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'items'", 'null': 'True', 'to': "orm['auth.User']"}) + }, + 'itemlist.list': { + 'Meta': {'unique_together': "(('user', 'name'),)", 'object_name': 'List'}, + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'default': "''"}), + 'icon': ('django.db.models.fields.files.ImageField', [], {'default': 'None', 'max_length': '100', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'items': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'lists'", 'symmetrical': 'False', 'through': "orm['itemlist.ListItem']", 'to': "orm['item.Item']"}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'numberofitems': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'poster_frames': ('ox.django.fields.TupleField', [], {'default': '[]'}), + 'query': ('ox.django.fields.DictField', [], {'default': "{'static': True}"}), + 'sort': ('ox.django.fields.TupleField', [], {'default': "({'operator': '+', 'key': 'director'},)"}), + 'status': ('django.db.models.fields.CharField', [], {'default': "'private'", 'max_length': '20'}), + 'subscribed_users': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'subscribed_lists'", 'symmetrical': 'False', 'to': "orm['auth.User']"}), + 'type': ('django.db.models.fields.CharField', [], {'default': "'static'", 'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'lists'", 'to': "orm['auth.User']"}), + 'view': ('django.db.models.fields.TextField', [], {'default': "('g', 'r', 'i', 'd')"}) + }, + 'itemlist.listitem': { + 'Meta': {'object_name': 'ListItem'}, + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'item': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['item.Item']"}), + 'list': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['itemlist.List']"}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}) + }, + 'tv.channel': { + 'Meta': {'object_name': 'Channel'}, + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'list': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'channel'", 'unique': 'True', 'null': 'True', 'to': "orm['itemlist.List']"}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'run': ('django.db.models.fields.IntegerField', [], {'default': '0'}) + }, + 'tv.program': { + 'Meta': {'object_name': 'Program'}, + 'channel': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'program'", 'to': "orm['tv.Channel']"}), + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'end': ('django.db.models.fields.DateTimeField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'item': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'program'", 'to': "orm['item.Item']"}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'run': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'start': ('django.db.models.fields.DateTimeField', [], {}) + } + } + + complete_apps = ['tv'] \ No newline at end of file diff --git a/pandora/tv/migrations/__init__.py b/pandora/tv/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pandora/urlalias/migrations/0001_initial.py b/pandora/urlalias/migrations/0001_initial.py new file mode 100644 index 00000000..e3a2b104 --- /dev/null +++ b/pandora/urlalias/migrations/0001_initial.py @@ -0,0 +1,85 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'IDAlias' + db.create_table('urlalias_idalias', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('old', self.gf('django.db.models.fields.CharField')(unique=True, max_length=255)), + ('new', self.gf('django.db.models.fields.CharField')(max_length=255)), + )) + db.send_create_signal('urlalias', ['IDAlias']) + + # Adding model 'LayerAlias' + db.create_table('urlalias_layeralias', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('old', self.gf('django.db.models.fields.CharField')(unique=True, max_length=255)), + ('new', self.gf('django.db.models.fields.CharField')(max_length=255)), + )) + db.send_create_signal('urlalias', ['LayerAlias']) + + # Adding model 'ListAlias' + db.create_table('urlalias_listalias', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('old', self.gf('django.db.models.fields.CharField')(unique=True, max_length=255)), + ('new', self.gf('django.db.models.fields.CharField')(max_length=255)), + )) + db.send_create_signal('urlalias', ['ListAlias']) + + # Adding model 'Alias' + db.create_table('urlalias_alias', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('url', self.gf('django.db.models.fields.CharField')(unique=True, max_length=255)), + ('target', self.gf('django.db.models.fields.CharField')(max_length=255)), + )) + db.send_create_signal('urlalias', ['Alias']) + + + def backwards(self, orm): + # Deleting model 'IDAlias' + db.delete_table('urlalias_idalias') + + # Deleting model 'LayerAlias' + db.delete_table('urlalias_layeralias') + + # Deleting model 'ListAlias' + db.delete_table('urlalias_listalias') + + # Deleting model 'Alias' + db.delete_table('urlalias_alias') + + + models = { + 'urlalias.alias': { + 'Meta': {'object_name': 'Alias'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'target': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'url': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}) + }, + 'urlalias.idalias': { + 'Meta': {'object_name': 'IDAlias'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'new': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'old': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}) + }, + 'urlalias.layeralias': { + 'Meta': {'object_name': 'LayerAlias'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'new': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'old': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}) + }, + 'urlalias.listalias': { + 'Meta': {'object_name': 'ListAlias'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'new': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'old': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}) + } + } + + complete_apps = ['urlalias'] \ No newline at end of file diff --git a/pandora/urlalias/migrations/__init__.py b/pandora/urlalias/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pandora/user/migrations/0001_initial.py b/pandora/user/migrations/0001_initial.py new file mode 100644 index 00000000..90e66020 --- /dev/null +++ b/pandora/user/migrations/0001_initial.py @@ -0,0 +1,129 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'SessionData' + db.create_table('user_sessiondata', ( + ('session_key', self.gf('django.db.models.fields.CharField')(max_length=40, primary_key=True)), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='data', unique=True, null=True, to=orm['auth.User'])), + ('firstseen', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, db_index=True, blank=True)), + ('lastseen', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now, db_index=True)), + ('username', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, db_index=True)), + ('level', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('timesseen', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('ip', self.gf('django.db.models.fields.CharField')(max_length=255, null=True)), + ('useragent', self.gf('django.db.models.fields.CharField')(max_length=255, null=True)), + ('windowsize', self.gf('django.db.models.fields.CharField')(max_length=255, null=True)), + ('screensize', self.gf('django.db.models.fields.CharField')(max_length=255, null=True)), + ('info', self.gf('ox.django.fields.DictField')(default={})), + ('location', self.gf('django.db.models.fields.CharField')(max_length=255, null=True)), + ('location_sort', self.gf('django.db.models.fields.CharField')(max_length=255, null=True)), + ('system', self.gf('django.db.models.fields.CharField')(max_length=255, null=True)), + ('browser', self.gf('django.db.models.fields.CharField')(max_length=255, null=True)), + ('numberoflists', self.gf('django.db.models.fields.IntegerField')(default=0, null=True)), + ('groupssort', self.gf('django.db.models.fields.CharField')(default=None, max_length=255, null=True, blank=True)), + )) + db.send_create_signal('user', ['SessionData']) + + # Adding model 'UserProfile' + db.create_table('user_userprofile', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('reset_code', self.gf('django.db.models.fields.CharField')(max_length=255, unique=True, null=True, blank=True)), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='profile', unique=True, to=orm['auth.User'])), + ('level', self.gf('django.db.models.fields.IntegerField')(default=1)), + ('files_updated', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('newsletter', self.gf('django.db.models.fields.BooleanField')(default=True)), + ('ui', self.gf('ox.django.fields.DictField')(default={})), + ('preferences', self.gf('ox.django.fields.DictField')(default={})), + ('notes', self.gf('django.db.models.fields.TextField')(default='')), + )) + db.send_create_signal('user', ['UserProfile']) + + + def backwards(self, orm): + # Deleting model 'SessionData' + db.delete_table('user_sessiondata') + + # Deleting model 'UserProfile' + db.delete_table('user_userprofile') + + + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '255', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'user.sessiondata': { + 'Meta': {'object_name': 'SessionData'}, + 'browser': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True'}), + 'firstseen': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'db_index': 'True', 'blank': 'True'}), + 'groupssort': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'info': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'ip': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True'}), + 'lastseen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now', 'db_index': 'True'}), + 'level': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'location': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True'}), + 'location_sort': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True'}), + 'numberoflists': ('django.db.models.fields.IntegerField', [], {'default': '0', 'null': 'True'}), + 'screensize': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True'}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40', 'primary_key': 'True'}), + 'system': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True'}), + 'timesseen': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'data'", 'unique': 'True', 'null': 'True', 'to': "orm['auth.User']"}), + 'useragent': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'db_index': 'True'}), + 'windowsize': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True'}) + }, + 'user.userprofile': { + 'Meta': {'object_name': 'UserProfile'}, + 'files_updated': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'level': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'newsletter': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'notes': ('django.db.models.fields.TextField', [], {'default': "''"}), + 'preferences': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'reset_code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': 'True', 'null': 'True', 'blank': 'True'}), + 'ui': ('ox.django.fields.DictField', [], {'default': '{}'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'profile'", 'unique': 'True', 'to': "orm['auth.User']"}) + } + } + + complete_apps = ['user'] \ No newline at end of file diff --git a/pandora/user/migrations/__init__.py b/pandora/user/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/requirements.txt b/requirements.txt index 87d12f76..fafc40f3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -13,3 +13,4 @@ django-celery>=2.4.2 -e git+git://github.com/dcramer/django-devserver#egg=django_devserver gunicorn>=0.14.3 html5lib +South diff --git a/update.py b/update.py new file mode 100755 index 00000000..601a7319 --- /dev/null +++ b/update.py @@ -0,0 +1,72 @@ +#!/usr/bin/python +import os +import sys +import subprocess +from os.path import join, exists + +def run(*cmd): + p = subprocess.Popen(cmd) + p.wait() + return p.returncode + +def get(*cmd): + p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + stdout, error = p.communicate() + return stdout + +repos = { + "pandora": "http://code.0x2620.org/pandora/", + "oxjs": "http://code.0x2620.org/oxjs/", + "python-ox": "http://code.0x2620.org/python-ox/", + "oxtimelines": "http://code.0x2620.org/oxtimelines/", +} + + +if __name__ == "__main__": + base = os.path.normpath(os.path.abspath(os.path.dirname(__file__))) + if len(sys.argv) == 2 and sys.argv[1] == 'database': + os.chdir(join(base, 'pandora')) + if get('./manage.py', 'south_installed').strip() == 'yes': + run('./manage.py', 'syncdb') + run('./manage.py', 'migrate') + run('./manage.py', 'sync_itemsort') + else: + print "You are upgrading from an older version of pan.do/ra." + print "Please use ./manage.py sqldiff -a to check for updates" + print "and apply required changes. You might have to set defaults too" + print "Once done run ./manage.py migrate --all --fake" + print "Check http://wiki.0x2620.org/wiki/pandora/DatabaseUpdate for more information" + else: + os.chdir(base) + current = get('bzr', 'revno') + run('bzr', 'pull', repos['pandora']) + new = get('bzr', 'revno') + + if exists(join(base, 'static', 'oxjs')): + os.chdir(join(base, 'static', 'oxjs')) + current += get('bzr', 'revno') + run('bzr', 'pull', repos['oxjs']) + new += get('bzr', 'revno') + else: + os.chdir(join(base, 'static')) + run('bzr', 'branch', repos['oxjs']) + new += '+' + + if exists(join(base, 'src', 'python-ox')): + os.chdir(join(base, 'src', 'python-ox')) + current += get('bzr', 'revno') + run('bzr', 'pull', repos['python-ox']) + new += get('bzr', 'revno') + + if exists(join(base, 'src', 'oxsubtitles')): + os.chdir(join(base, 'src', 'oxsubtitles')) + current += get('bzr', 'revno') + run('bzr', 'pull', repos['oxsubtitles']) + new += get('bzr', 'revno') + os.chdir(join(base, 'pandora')) + if current != new: + run('./manage.py', 'update_static') + run('./manage.py', 'compile_pyc') + diff = get('./manage.py', 'sqldiff', '-a').strip() + if diff != '-- No differences': + print 'Database was changes, please make a backup and run run ./update.py database' diff --git a/update.sh b/update.sh deleted file mode 100755 index 7dda1fc9..00000000 --- a/update.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/bash -pandora_repos=http://code.0x2620.org/pandora/ -oxjs_repos=http://code.0x2620.org/oxjs/ -python_ox_repos=http://code.0x2620.org/python-ox/ -oxtimelines_repos=http://code.0x2620.org/oxtimelines/ - -cd `dirname $0` -base=`pwd` -current=`bzr revno` -bzr pull $pandora_repos -new=`bzr revno` -cd $base -if [ -e static/oxjs ]; then - cd static/oxjs - current=$current`bzr revno` - bzr pull $oxjs_repos - new=$new`bzr revno` -else - cd static - bzr branch $oxjs_repos - cd oxjs - new=$new`bzr revno` -fi - -cd $base -if [ -e src/python-ox ]; then - cd src/python-ox - current=$current`bzr revno` - bzr pull $python_ox_repos - new=$new`bzr revno` -fi -cd $base -if [ -e src/oxtimelines ]; then - cd src/oxtimelines - bzr pull $oxtimelines_repos -fi -cd $base -if [ $current -ne $new ]; then - cd pandora - ./manage.py update_static - ./manage.py compile_pyc - ./manage.py sqldiff -a | grep -v BEGIN | grep -v COMMIT | grep -v "\-\- No differences" -fi