Commits

Frank Becker committed 0759cf6

Added South DB schema migration tool and rm *pyc

  • Participants
  • Parent commits 7134185

Comments (0)

Files changed (18)

 # 4) Initialise the SQLlite DB (That's already Django)
 cd ..
 python manage.py syncdb
-# 5) Start the Django devel server
+python manage.py migrate
+# 5) Install rabbit-mq and run it.
+# 6) Start the Django devel server
 python manage.py runserver
-# 6) For Pentasubmitter to work you have to:
-# 6.1) Assing a user as a Submitter
+# 7) For Pentasubmitter to work you have to:
+# 7.1) Assing a user as a Submitter
 ## http://localhost:8000/admin/submitter/submitter/add/
-# 6.2) Add a Pentaradio show where the Air Date is > the date you use it.
+# 7.2) Add a Pentaradio show where the Air Date is > the date you use it.
 # (Pentasubmitter is looking automatically for the next show. If not found it
 # raises a 404.)
 ## http://localhost:8000/admin/show/pentashow/add/
 
 This is here vor reference only.
 
-* Django 1.1 (http://www.djangoproject.com)
+* Django 1.3 (http://www.djangoproject.com)
 * django-registration (http://bitbucket.org/ubernostrum/django-registration/)
   nice to have for debugging django-debug-toolbar (http://github.com/robhudson/django-debug-toolbar)
 * django-tagging (http://code.google.com/p/django-tagging/)
 * django-avatar (note little url-fix, issue 11)
 * django-threadedcomments
 * django-authopenid (note, misleading docu for config in settings.py)
+* django-tastypie
+* south
 
 * python-dev (required for pil)
 * libjpeg-dev (required for pil)

src/django_authopenid/__init__.pyc

Binary file removed.

src/django_authopenid/admin.pyc

Binary file removed.

src/django_authopenid/context_processors.pyc

Binary file removed.

src/django_authopenid/forms.pyc

Binary file removed.

src/django_authopenid/middleware.pyc

Binary file removed.

src/django_authopenid/models.pyc

Binary file removed.

src/django_authopenid/openid_store.pyc

Binary file removed.

src/django_authopenid/signals.pyc

Binary file removed.

src/django_authopenid/urls.pyc

Binary file removed.

src/django_authopenid/views.pyc

Binary file removed.

src/pentasubmitter/settings.py

     'haystack',
     'djcelery',
     'tastypie',
+    'south',
 )
 
 DEBUG_TOOLBAR_CONFIG = dict(

src/registration/models.pyc

Binary file removed.

src/show/migrations/0001_initial.py

+# -*- 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 'MediaContent'
+        db.create_table('show_mediacontent', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('title', self.gf('django.db.models.fields.CharField')(max_length=250)),
+            ('media_format', self.gf('django.db.models.fields.IntegerField')(default=1)),
+            ('url', self.gf('django.db.models.fields.URLField')(max_length=230, blank=True)),
+            ('publish_date', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
+        ))
+        db.send_create_signal('show', ['MediaContent'])
+
+        # Adding model 'ShowType'
+        db.create_table('show_showtype', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('show_type', self.gf('django.db.models.fields.IntegerField')(default=1)),
+        ))
+        db.send_create_signal('show', ['ShowType'])
+
+        # Adding model 'PentaShow'
+        db.create_table('show_pentashow', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('title', self.gf('django.db.models.fields.CharField')(max_length=250)),
+            ('slug', self.gf('django.db.models.fields.SlugField')(unique=True, max_length=50, blank=True)),
+            ('excerpt', self.gf('django.db.models.fields.TextField')(blank=True)),
+            ('excerpt_html', self.gf('django.db.models.fields.TextField')(blank=True)),
+            ('description', self.gf('django.db.models.fields.TextField')(blank=True)),
+            ('description_html', self.gf('django.db.models.fields.TextField')(blank=True)),
+            ('show_type', self.gf('django.db.models.fields.IntegerField')(default=1)),
+            ('air_date', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime(2012, 3, 26, 0, 0), blank=True)),
+            ('production_date', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime(2012, 3, 26, 0, 0), blank=True)),
+            ('recording_release_date', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime(2012, 3, 26, 0, 0), blank=True)),
+            ('media', self.gf('django.db.models.fields.files.ImageField')(max_length=100, null=True, blank=True)),
+        ))
+        db.send_create_signal('show', ['PentaShow'])
+
+    def backwards(self, orm):
+        # Deleting model 'MediaContent'
+        db.delete_table('show_mediacontent')
+
+        # Deleting model 'ShowType'
+        db.delete_table('show_showtype')
+
+        # Deleting model 'PentaShow'
+        db.delete_table('show_pentashow')
+
+    models = {
+        'show.mediacontent': {
+            'Meta': {'object_name': 'MediaContent'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'media_format': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+            'publish_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '250'}),
+            'url': ('django.db.models.fields.URLField', [], {'max_length': '230', 'blank': 'True'})
+        },
+        'show.pentashow': {
+            'Meta': {'ordering': "['-air_date']", 'object_name': 'PentaShow'},
+            'air_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 3, 26, 0, 0)', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'description_html': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'excerpt': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'excerpt_html': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'media': ('django.db.models.fields.files.ImageField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+            'production_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 3, 26, 0, 0)', 'blank': 'True'}),
+            'recording_release_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 3, 26, 0, 0)', 'blank': 'True'}),
+            'show_type': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+            'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50', 'blank': 'True'}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '250'})
+        },
+        'show.showtype': {
+            'Meta': {'object_name': 'ShowType'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'show_type': ('django.db.models.fields.IntegerField', [], {'default': '1'})
+        }
+    }
+
+    complete_apps = ['show']

src/show/migrations/__init__.py

Empty file added.

src/submitter/migrations/0001_initial.py

+# -*- 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 'Submitter'
+        db.create_table('submitter_submitter', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], unique=True)),
+        ))
+        db.send_create_signal('submitter', ['Submitter'])
+
+        # Adding model 'EntryCategory'
+        db.create_table('submitter_entrycategory', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('title', self.gf('django.db.models.fields.CharField')(max_length=250)),
+            ('slug', self.gf('django.db.models.fields.SlugField')(unique=True, max_length=50)),
+            ('description', self.gf('django.db.models.fields.TextField')(blank=True)),
+            ('tags_string', self.gf('tagging.fields.TagField')(default='')),
+        ))
+        db.send_create_signal('submitter', ['EntryCategory'])
+
+        # Adding model 'NewsEntry'
+        db.create_table('submitter_newsentry', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('title', self.gf('django.db.models.fields.CharField')(max_length=250, blank=True)),
+            ('excerpt', self.gf('django.db.models.fields.TextField')(blank=True)),
+            ('body', self.gf('django.db.models.fields.TextField')(blank=True)),
+            ('body_html', self.gf('django.db.models.fields.TextField')(blank=True)),
+            ('excerpt_html', self.gf('django.db.models.fields.TextField')(blank=True)),
+            ('external_url', self.gf('django.db.models.fields.URLField')(max_length=230, blank=True)),
+            ('page_screenshot', self.gf('submitter.models.ThumbNailImageField')(max_length=100, null=True, blank=True)),
+            ('slug', self.gf('django.db.models.fields.SlugField')(max_length=50, blank=True)),
+            ('author', self.gf('django.db.models.fields.related.ForeignKey')(related_name='author', to=orm['submitter.Submitter'])),
+            ('enable_comments', self.gf('django.db.models.fields.BooleanField')(default=True)),
+            ('featured', self.gf('django.db.models.fields.BooleanField')(default=False)),
+            ('status', self.gf('django.db.models.fields.IntegerField')(default=1)),
+            ('submit_date', self.gf('django.db.models.fields.DateTimeField')(blank=True)),
+            ('show', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['show.PentaShow'], null=True)),
+            ('tags_string', self.gf('tagging.fields.TagField')(default='')),
+        ))
+        db.send_create_signal('submitter', ['NewsEntry'])
+
+        # Adding M2M table for field categories on 'NewsEntry'
+        db.create_table('submitter_newsentry_categories', (
+            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
+            ('newsentry', models.ForeignKey(orm['submitter.newsentry'], null=False)),
+            ('entrycategory', models.ForeignKey(orm['submitter.entrycategory'], null=False))
+        ))
+        db.create_unique('submitter_newsentry_categories', ['newsentry_id', 'entrycategory_id'])
+
+    def backwards(self, orm):
+        # Deleting model 'Submitter'
+        db.delete_table('submitter_submitter')
+
+        # Deleting model 'EntryCategory'
+        db.delete_table('submitter_entrycategory')
+
+        # Deleting model 'NewsEntry'
+        db.delete_table('submitter_newsentry')
+
+        # Removing M2M table for field categories on 'NewsEntry'
+        db.delete_table('submitter_newsentry_categories')
+
+    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': '80'}),
+            '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': '75', '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': '128'}),
+            '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': '30'})
+        },
+        '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'})
+        },
+        'show.pentashow': {
+            'Meta': {'ordering': "['-air_date']", 'object_name': 'PentaShow'},
+            'air_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 3, 26, 0, 0)', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'description_html': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'excerpt': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'excerpt_html': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'media': ('django.db.models.fields.files.ImageField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+            'production_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 3, 26, 0, 0)', 'blank': 'True'}),
+            'recording_release_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 3, 26, 0, 0)', 'blank': 'True'}),
+            'show_type': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+            'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50', 'blank': 'True'}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '250'})
+        },
+        'submitter.entrycategory': {
+            'Meta': {'object_name': 'EntryCategory'},
+            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}),
+            'tags_string': ('tagging.fields.TagField', [], {'default': "''"}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '250'})
+        },
+        'submitter.newsentry': {
+            'Meta': {'ordering': "['-submit_date']", 'object_name': 'NewsEntry'},
+            'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'author'", 'to': "orm['submitter.Submitter']"}),
+            'body': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'body_html': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'categories': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['submitter.EntryCategory']", 'symmetrical': 'False', 'blank': 'True'}),
+            'enable_comments': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+            'excerpt': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'excerpt_html': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'external_url': ('django.db.models.fields.URLField', [], {'max_length': '230', 'blank': 'True'}),
+            'featured': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'page_screenshot': ('submitter.models.ThumbNailImageField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+            'show': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['show.PentaShow']", 'null': 'True'}),
+            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50', 'blank': 'True'}),
+            'status': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+            'submit_date': ('django.db.models.fields.DateTimeField', [], {'blank': 'True'}),
+            'tags_string': ('tagging.fields.TagField', [], {'default': "''"}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '250', 'blank': 'True'})
+        },
+        'submitter.submitter': {
+            'Meta': {'object_name': 'Submitter'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'unique': 'True'})
+        }
+    }
+
+    complete_apps = ['submitter']

src/submitter/migrations/__init__.py

Empty file added.

src/submitter/models.py

 #from tagging.utils import parse_tag_input
 from submitter import tasks
 from show.models import PentaShow
+from south.modelsinspector import add_introspection_rules
 
-from pentasubmitter.debug import interact
+#from pentasubmitter.debug import interact
 
 # django-tagging from http://code.google.com/p/django-tagging/
 
+#add_introspection_rules([], ["^submitter\.newsentry\.page_screenshot"])
+add_introspection_rules([], ["^submitter\.models\.ThumbNailImageField"])
+
 if os.environ.has_key('TMPDIR'):
     TMP_DIR = os.environ['TMPDIR']
 else: