using south for db migrations
authorSebastian Annies <sebastian.annies@googlemail.com>
Mon, 10 Oct 2011 17:41:51 +0000 (19:41 +0200)
committerSebastian Annies <sebastian.annies@googlemail.com>
Mon, 10 Oct 2011 17:55:45 +0000 (19:55 +0200)
cas_provider/migrations/0001_initial.py [new file with mode: 0644]
cas_provider/migrations/0002_auto__add_proxygrantingticket__add_proxyticket__add_proxygrantingticke.py [new file with mode: 0644]
cas_provider/migrations/__init__.py [new file with mode: 0644]
cas_provider/models.py
cas_provider_examples/simple/settings.py
setup.py

diff --git a/cas_provider/migrations/0001_initial.py b/cas_provider/migrations/0001_initial.py
new file mode 100644 (file)
index 0000000..74770af
--- /dev/null
@@ -0,0 +1,92 @@
+# encoding: 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 'ServiceTicket'
+        db.create_table('cas_provider_serviceticket', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('ticket', self.gf('django.db.models.fields.CharField')(max_length=32)),
+            ('created', 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'])),
+            ('service', self.gf('django.db.models.fields.URLField')(max_length=200)),
+        ))
+        db.send_create_signal('cas_provider', ['ServiceTicket'])
+
+        # Adding model 'LoginTicket'
+        db.create_table('cas_provider_loginticket', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('ticket', self.gf('django.db.models.fields.CharField')(max_length=32)),
+            ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
+        ))
+        db.send_create_signal('cas_provider', ['LoginTicket'])
+
+
+    def backwards(self, orm):
+        
+        # Deleting model 'ServiceTicket'
+        db.delete_table('cas_provider_serviceticket')
+
+        # Deleting model 'LoginTicket'
+        db.delete_table('cas_provider_loginticket')
+
+
+    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'})
+        },
+        'cas_provider.loginticket': {
+            'Meta': {'object_name': 'LoginTicket'},
+            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'ticket': ('django.db.models.fields.CharField', [], {'max_length': '32'})
+        },
+        'cas_provider.serviceticket': {
+            'Meta': {'object_name': 'ServiceTicket'},
+            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'service': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
+            'ticket': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
+            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"})
+        },
+        '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'})
+        }
+    }
+
+    complete_apps = ['cas_provider']
diff --git a/cas_provider/migrations/0002_auto__add_proxygrantingticket__add_proxyticket__add_proxygrantingticke.py b/cas_provider/migrations/0002_auto__add_proxygrantingticket__add_proxyticket__add_proxygrantingticke.py
new file mode 100644 (file)
index 0000000..46247aa
--- /dev/null
@@ -0,0 +1,125 @@
+# encoding: 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 'ProxyGrantingTicket'
+        db.create_table('cas_provider_proxygrantingticket', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('ticket', self.gf('django.db.models.fields.CharField')(max_length=32)),
+            ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
+            ('serviceTicket', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['cas_provider.ServiceTicket'], null=True)),
+            ('pgtiou', self.gf('django.db.models.fields.CharField')(max_length=256)),
+            ('targetService', self.gf('django.db.models.fields.URLField')(max_length=200)),
+        ))
+        db.send_create_signal('cas_provider', ['ProxyGrantingTicket'])
+
+        # Adding model 'ProxyTicket'
+        db.create_table('cas_provider_proxyticket', (
+            ('serviceticket_ptr', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['cas_provider.ServiceTicket'], unique=True, primary_key=True)),
+            ('proxyGrantingTicket', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['cas_provider.ProxyGrantingTicket'])),
+        ))
+        db.send_create_signal('cas_provider', ['ProxyTicket'])
+
+        # Adding model 'ProxyGrantingTicketIOU'
+        db.create_table('cas_provider_proxygrantingticketiou', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('ticket', self.gf('django.db.models.fields.CharField')(max_length=32)),
+            ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
+            ('proxyGrantingTicket', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['cas_provider.ProxyGrantingTicket'])),
+        ))
+        db.send_create_signal('cas_provider', ['ProxyGrantingTicketIOU'])
+
+
+    def backwards(self, orm):
+        
+        # Deleting model 'ProxyGrantingTicket'
+        db.delete_table('cas_provider_proxygrantingticket')
+
+        # Deleting model 'ProxyTicket'
+        db.delete_table('cas_provider_proxyticket')
+
+        # Deleting model 'ProxyGrantingTicketIOU'
+        db.delete_table('cas_provider_proxygrantingticketiou')
+
+
+    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'})
+        },
+        'cas_provider.loginticket': {
+            'Meta': {'object_name': 'LoginTicket'},
+            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'ticket': ('django.db.models.fields.CharField', [], {'max_length': '32'})
+        },
+        'cas_provider.proxygrantingticket': {
+            'Meta': {'object_name': 'ProxyGrantingTicket'},
+            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'pgtiou': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
+            'serviceTicket': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cas_provider.ServiceTicket']", 'null': 'True'}),
+            'targetService': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
+            'ticket': ('django.db.models.fields.CharField', [], {'max_length': '32'})
+        },
+        'cas_provider.proxygrantingticketiou': {
+            'Meta': {'object_name': 'ProxyGrantingTicketIOU'},
+            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'proxyGrantingTicket': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cas_provider.ProxyGrantingTicket']"}),
+            'ticket': ('django.db.models.fields.CharField', [], {'max_length': '32'})
+        },
+        'cas_provider.proxyticket': {
+            'Meta': {'object_name': 'ProxyTicket', '_ormbases': ['cas_provider.ServiceTicket']},
+            'proxyGrantingTicket': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cas_provider.ProxyGrantingTicket']"}),
+            'serviceticket_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['cas_provider.ServiceTicket']", 'unique': 'True', 'primary_key': 'True'})
+        },
+        'cas_provider.serviceticket': {
+            'Meta': {'object_name': 'ServiceTicket'},
+            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'service': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
+            'ticket': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
+            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"})
+        },
+        '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'})
+        }
+    }
+
+    complete_apps = ['cas_provider']
diff --git a/cas_provider/migrations/__init__.py b/cas_provider/migrations/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
index 0c21f39..4ec2e85 100644 (file)
@@ -98,4 +98,3 @@ class ProxyGrantingTicketIOU(BaseTicket):
         verbose_name = _('Proxy Granting Ticket IOU')
         verbose_name_plural = _('Proxy Granting Tickets IOU')
 
         verbose_name = _('Proxy Granting Ticket IOU')
         verbose_name_plural = _('Proxy Granting Tickets IOU')
 
-
index 9140cf6..209927c 100644 (file)
@@ -9,14 +9,12 @@ ADMINS = (
 
 MANAGERS = ADMINS
 
 
 MANAGERS = ADMINS
 
+import os
+
 DATABASES = {
     'default': {
 DATABASES = {
     'default': {
-        'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
-        'NAME': '',                      # Or path to database file if using sqlite3.
-        'USER': '',                      # Not used with sqlite3.
-        'PASSWORD': '',                  # Not used with sqlite3.
-        'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
-        'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
+        'ENGINE': 'django.db.backends.sqlite3',
+        'NAME': os.path.join(os.path.realpath(__file__), 'db'),
     }
 }
 
     }
 }
 
@@ -117,6 +115,7 @@ INSTALLED_APPS = (
     'django.contrib.messages',
     'django.contrib.staticfiles',
     'cas_provider',
     'django.contrib.messages',
     'django.contrib.staticfiles',
     'cas_provider',
+    'south',
 )
 
 # A sample logging configuration. The only tangible logging
 )
 
 # A sample logging configuration. The only tangible logging
index bf85f5d..0094b19 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -1,17 +1,23 @@
+import os
 from setuptools import setup, find_packages
 
 from setuptools import setup, find_packages
 
+def read(fname):
+    return open(os.path.join(os.path.dirname(__file__), fname)).read()
 
 setup(
     name='django-cas-provider',
 
 setup(
     name='django-cas-provider',
-    version='0.2.2',
+    version='0.3.0',
     description='A "provider" for the Central Authentication Service (http://jasig.org/cas)',
     description='A "provider" for the Central Authentication Service (http://jasig.org/cas)',
-    author='Chris Williams',
-    author_email='chris@nitron.org',
-    url='http://nitron.org/',
+    author='(Chris Williams), Sebastian Annies',
+    author_email='(chris@nitron.org), sebastian.annies@googlemail.com',
+    url='https://github.com/castlabs/django-cas-provider',
     packages=find_packages(),
     include_package_data=True,
     packages=find_packages(),
     include_package_data=True,
+    license='MIT',
+    long_description=read('README.rst'),
     zip_safe=False,
     zip_safe=False,
-    install_requires=['setuptools'],
+    install_requires=['setuptools',
+                      'south>=0.7.2',],
     classifiers = [
         "Development Status :: 3 - Alpha",
         "Framework :: Django",
     classifiers = [
         "Development Status :: 3 - Alpha",
         "Framework :: Django",