From: yomguy Date: Mon, 20 Feb 2012 10:42:57 +0000 (+0100) Subject: add south migrations, add Record X-Git-Tag: 1.0~61 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=814fefaaa5366153230f61a580e447e88c101a59;p=telecaster-server.git add south migrations, add Record --- diff --git a/telecaster/migrations/0001_initial.pyc b/telecaster/migrations/0001_initial.pyc new file mode 100644 index 0000000..ea4abad Binary files /dev/null and b/telecaster/migrations/0001_initial.pyc differ diff --git a/telecaster/migrations/0002_auto__chg_field_session_description__chg_field_department_description_.py b/telecaster/migrations/0002_auto__chg_field_session_description__chg_field_department_description_.py new file mode 100644 index 0000000..9452a9d --- /dev/null +++ b/telecaster/migrations/0002_auto__chg_field_session_description__chg_field_department_description_.py @@ -0,0 +1,117 @@ +# -*- 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): + + # Changing field 'Session.description' + db.alter_column('telecaster_session', 'description', self.gf('django.db.models.fields.CharField')(default='', max_length=255)) + + # Changing field 'Department.description' + db.alter_column('telecaster_department', 'description', self.gf('django.db.models.fields.CharField')(default='', max_length=255)) + + # Changing field 'Organization.description' + db.alter_column('telecaster_organization', 'description', self.gf('django.db.models.fields.CharField')(default='', max_length=255)) + + # Changing field 'Professor.institution' + db.alter_column('telecaster_professor', 'institution', self.gf('django.db.models.fields.CharField')(default='', max_length=255)) + + # Changing field 'Professor.telephone' + db.alter_column('telecaster_professor', 'telephone', self.gf('django.db.models.fields.CharField')(default='', max_length=255)) + + # Changing field 'Professor.address' + db.alter_column('telecaster_professor', 'address', self.gf('django.db.models.fields.CharField')(default='', max_length=255)) + + # Changing field 'Professor.email' + db.alter_column('telecaster_professor', 'email', self.gf('django.db.models.fields.CharField')(default='', max_length=255)) + + # Changing field 'Station.comment' + db.alter_column('telecaster_station', 'comment', self.gf('django.db.models.fields.TextField')(default='')) + + # Changing field 'Conference.description' + db.alter_column('telecaster_conference', 'description', self.gf('django.db.models.fields.CharField')(default='', max_length=255)) + def backwards(self, orm): + + # Changing field 'Session.description' + db.alter_column('telecaster_session', 'description', self.gf('django.db.models.fields.CharField')(max_length=255, null=True)) + + # Changing field 'Department.description' + db.alter_column('telecaster_department', 'description', self.gf('django.db.models.fields.CharField')(max_length=255, null=True)) + + # Changing field 'Organization.description' + db.alter_column('telecaster_organization', 'description', self.gf('django.db.models.fields.CharField')(max_length=255, null=True)) + + # Changing field 'Professor.institution' + db.alter_column('telecaster_professor', 'institution', self.gf('django.db.models.fields.CharField')(max_length=255, null=True)) + + # Changing field 'Professor.telephone' + db.alter_column('telecaster_professor', 'telephone', self.gf('django.db.models.fields.CharField')(max_length=255, null=True)) + + # Changing field 'Professor.address' + db.alter_column('telecaster_professor', 'address', self.gf('django.db.models.fields.CharField')(max_length=255, null=True)) + + # Changing field 'Professor.email' + db.alter_column('telecaster_professor', 'email', self.gf('django.db.models.fields.CharField')(max_length=255, null=True)) + + # Changing field 'Station.comment' + db.alter_column('telecaster_station', 'comment', self.gf('django.db.models.fields.TextField')(null=True)) + + # Changing field 'Conference.description' + db.alter_column('telecaster_conference', 'description', self.gf('django.db.models.fields.CharField')(max_length=255, null=True)) + models = { + 'telecaster.conference': { + 'Meta': {'object_name': 'Conference'}, + 'department': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'conferences'", 'to': "orm['telecaster.Department']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'telecaster.department': { + 'Meta': {'object_name': 'Department'}, + 'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'telecaster.organization': { + 'Meta': {'object_name': 'Organization'}, + 'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'telecaster.professor': { + 'Meta': {'object_name': 'Professor'}, + 'address': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'email': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'institution': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'telephone': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) + }, + 'telecaster.session': { + 'Meta': {'object_name': 'Session'}, + 'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'number': ('django.db.models.fields.IntegerField', [], {}) + }, + 'telecaster.station': { + 'Meta': {'object_name': 'Station'}, + 'comment': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'conference': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'stations'", 'to': "orm['telecaster.Conference']"}), + 'datetime_start': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'datetime_stop': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'department': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'stations'", 'to': "orm['telecaster.Department']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'organization': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'stations'", 'to': "orm['telecaster.Organization']"}), + 'professor': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'stations'", 'to': "orm['telecaster.Professor']"}), + 'session': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'stations'", 'to': "orm['telecaster.Session']"}), + 'started': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) + } + } + + complete_apps = ['telecaster'] \ No newline at end of file diff --git a/telecaster/migrations/0002_auto__chg_field_session_description__chg_field_department_description_.pyc b/telecaster/migrations/0002_auto__chg_field_session_description__chg_field_department_description_.pyc new file mode 100644 index 0000000..6c0d22f Binary files /dev/null and b/telecaster/migrations/0002_auto__chg_field_session_description__chg_field_department_description_.pyc differ diff --git a/telecaster/migrations/0003_auto__add_record.py b/telecaster/migrations/0003_auto__add_record.py new file mode 100644 index 0000000..2c44d7a --- /dev/null +++ b/telecaster/migrations/0003_auto__add_record.py @@ -0,0 +1,82 @@ +# -*- 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 'Record' + db.create_table('telecaster_record', ( + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('station', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='records', null=True, to=orm['telecaster.Station'])), + ('datetime', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)), + ('file', self.gf('django.db.models.fields.files.FileField')(max_length=100)), + )) + db.send_create_signal('telecaster', ['Record']) + + def backwards(self, orm): + # Deleting model 'Record' + db.delete_table('telecaster_record') + + models = { + 'telecaster.conference': { + 'Meta': {'object_name': 'Conference'}, + 'department': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'conferences'", 'to': "orm['telecaster.Department']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'telecaster.department': { + 'Meta': {'object_name': 'Department'}, + 'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'telecaster.organization': { + 'Meta': {'object_name': 'Organization'}, + 'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'telecaster.professor': { + 'Meta': {'object_name': 'Professor'}, + 'address': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'email': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'institution': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'telephone': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) + }, + 'telecaster.record': { + 'Meta': {'object_name': 'Record'}, + 'datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'file': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'station': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'records'", 'null': 'True', 'to': "orm['telecaster.Station']"}) + }, + 'telecaster.session': { + 'Meta': {'object_name': 'Session'}, + 'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'number': ('django.db.models.fields.IntegerField', [], {}) + }, + 'telecaster.station': { + 'Meta': {'object_name': 'Station'}, + 'comment': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'conference': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'stations'", 'to': "orm['telecaster.Conference']"}), + 'datetime_start': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'datetime_stop': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'department': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'stations'", 'to': "orm['telecaster.Department']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'organization': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'stations'", 'to': "orm['telecaster.Organization']"}), + 'professor': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'stations'", 'to': "orm['telecaster.Professor']"}), + 'session': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'stations'", 'to': "orm['telecaster.Session']"}), + 'started': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) + } + } + + complete_apps = ['telecaster'] \ No newline at end of file diff --git a/telecaster/migrations/0003_auto__add_record.pyc b/telecaster/migrations/0003_auto__add_record.pyc new file mode 100644 index 0000000..6982b80 Binary files /dev/null and b/telecaster/migrations/0003_auto__add_record.pyc differ diff --git a/telecaster/migrations/__init__.pyc b/telecaster/migrations/__init__.pyc new file mode 100644 index 0000000..d1996b8 Binary files /dev/null and b/telecaster/migrations/__init__.pyc differ diff --git a/telecaster/models.py b/telecaster/models.py index 2b337a7..cea73b6 100644 --- a/telecaster/models.py +++ b/telecaster/models.py @@ -46,6 +46,7 @@ from tools import * from mutagen.oggvorbis import OggVorbis from mutagen.id3 import ID3, TIT2, TP1, TAL, TDA, TDAT, TDRC, TCO, COM +import django.db.models as models from django.db.models import * from django.forms import ModelForm from django.utils.translation import ugettext_lazy as _ @@ -54,56 +55,56 @@ app_label = 'telecaster' class Organization(Model): - + name = CharField(_('name'), max_length=255) description = CharField(_('description'), max_length=255, blank=True) - + def __str__(self): return self.name - + class Meta: db_table = app_label + '_' + 'organization' class Department(Model): - + name = CharField(_('name'), max_length=255) description = CharField(_('description'), max_length=255, blank=True) def __str__(self): return self.name - + class Meta: db_table = app_label + '_' + 'department' class Conference(Model): - + title = CharField(_('title'), max_length=255) description = CharField(_('description'), max_length=255, blank=True) department = ForeignKey('Department', related_name='conferences', verbose_name='department') - + def __str__(self): return self.title - + class Meta: db_table = app_label + '_' + 'conference' class Session(Model): - + name = CharField(_('name'), max_length=255) description = CharField(_('description'), max_length=255, blank=True) number = IntegerField(_('number')) - + def __str__(self): return self.name - + class Meta: db_table = app_label + '_' + 'session' class Professor(Model): - + name = CharField(_('name'), max_length=255) institution = CharField(_('institution'), max_length=255, blank=True) address = CharField(_('address'), max_length=255, blank=True) @@ -112,29 +113,29 @@ class Professor(Model): def __str__(self): return self.name - + class Meta: db_table = app_label + '_' + 'professor' - - + + class Station(Model): - - organization = ForeignKey('Organization', related_name='stations', verbose_name='organization') - department = ForeignKey('Department', related_name='stations', verbose_name='department') - conference = ForeignKey('Conference', related_name='stations', verbose_name='conference') - session = ForeignKey('Session', related_name='stations', verbose_name='session') - professor = ForeignKey('Professor', related_name='stations', verbose_name='professor') + + organization = ForeignKey(Organization, related_name='stations', verbose_name='organization') + department = ForeignKey(Department, related_name='stations', verbose_name='department') + conference = ForeignKey(Conference, related_name='stations', verbose_name='conference') + session = ForeignKey(Session, related_name='stations', verbose_name='session') + professor = ForeignKey(Professor, related_name='stations', verbose_name='professor') comment = TextField(_('comment'), blank=True) started = BooleanField(_('started')) - datetime_start = DateTimeField(_('time_start'), blank=True) - datetime_stop = DateTimeField(_('time_stop'), blank=True) + datetime_start = DateTimeField(_('time_start'), blank=True, null=True) + datetime_stop = DateTimeField(_('time_stop'), blank=True, null=True) class Meta: db_table = app_label + '_' + 'station' - + def __str__(self): return ' - '.join(self.description) + ' - ' + str(self.datetime_start) + ' > ' + str(self.datetime_stop) - + def to_dict(self): dict = [ {'id':'organization','value': self.organization.name, 'class':'', 'label':'Organization'}, {'id': 'department', 'value': self.department.name , 'class':'', 'label':'Departement'}, @@ -145,14 +146,14 @@ class Station(Model): {'id': 'started', 'value': str(self.started), 'class':'' , 'label': 'Started'}, ] return dict - + @property def description(self): return [self.organization.name, self.conference.department.name, self.conference.title, self.session.name, self.professor.name, self.comment] - + def set_conf(self, conf): self.conf = conf - + def setup(self): self.date = datetime.datetime.now().strftime("%Y") self.time = datetime.datetime.now().strftime("%x-%X") @@ -198,7 +199,7 @@ class Station(Model): self.deefuzzer_dict = xml2dict(self.deefuzzer_default_conf_file) self.deefuzzer_osc_ports = [] self.server_ports = [] - + for station in self.deefuzzer_dict['deefuzzer']['station']: if station['control']['mode'] == '1': self.deefuzzer_osc_ports.append(station['control']['port']) @@ -222,7 +223,7 @@ class Station(Model): station['relay']['mode'] = '1' station['relay']['author'] = self.professor self.deefuzzer_dict['deefuzzer']['station'][i] = station - i += 1 + i += 1 self.deefuzzer_xml = dicttoxml(self.deefuzzer_dict) def deefuzzer_write_conf(self): @@ -305,3 +306,11 @@ class Station(Model): self.deefuzzer_stop() self.del_lock() + +class Record(Model): + + station = ForeignKey(Station, related_name='records', verbose_name='station', + blank=True, null=True, on_delete=models.SET_NULL) + datetime = DateTimeField(_('record_date'), auto_now=True) + file = FileField(_('file'), upload_to='items/%Y/%m/%d') +