]> git.parisson.com Git - timeside.git/commitdiff
delete django Processor type properties, add pipe Processor type properties
authorGuillaume Pellerin <yomguy@parisson.com>
Mon, 21 Apr 2014 11:35:20 +0000 (13:35 +0200)
committerGuillaume Pellerin <yomguy@parisson.com>
Mon, 21 Apr 2014 11:35:20 +0000 (13:35 +0200)
timeside/analyzer/core.py
timeside/decoder/core.py
timeside/encoder/core.py
timeside/grapher/core.py
timeside/migrations/0003_auto__del_field_processor_type.py [new file with mode: 0644]
timeside/models.py
timeside/views.py

index 8d71572f284a3bd61426b332e587dc1ac6aef194..422552844da11b5da914308629b2728db141b122 100644 (file)
@@ -1041,6 +1041,8 @@ class Analyzer(Processor):
     Generic class for the analyzers
     '''
 
+    type = 'analyzer'
+
     def __init__(self):
         super(Analyzer, self).__init__()
 
index 60355e2a31a40190abcc144108b81081a13e4eda..6865e4e22ca72c0ebc046a48e3fbb874186b7200 100644 (file)
@@ -49,6 +49,8 @@ class Decoder(Processor):
     implements(IDecoder)
     abstract()
 
+    type = 'decoder'
+
     mimetype = ''
     output_samplerate = None
     output_channels = None
index ef7614e43d9064e144ddac8ebb085cc59378772c..c18cd5034835bc9875a6cab795ca9c3b53629647 100644 (file)
@@ -45,6 +45,8 @@ class GstEncoder(Processor):
     implements(IEncoder)
     abstract()
 
+    type = 'encoder'
+
     def __init__(self, output, streaming=False, overwrite=False):
 
         super(GstEncoder, self).__init__()
index 1c92afa247e9da906effdd0f9078229ca4789e04..3340d8fdee7300577b6586083c22fdf883bcbc65 100644 (file)
@@ -108,6 +108,8 @@ class Grapher(Processor):
     Generic abstract class for the graphers
     '''
 
+    type = 'grapher'
+
     fft_size = 0x1000
     frame_cursor = 0
     pixel_cursor = 0
diff --git a/timeside/migrations/0003_auto__del_field_processor_type.py b/timeside/migrations/0003_auto__del_field_processor_type.py
new file mode 100644 (file)
index 0000000..1c5c6a2
--- /dev/null
@@ -0,0 +1,136 @@
+# -*- coding: utf-8 -*-
+from south.utils import datetime_utils as datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+
+class Migration(SchemaMigration):
+
+    def forwards(self, orm):
+        # Deleting field 'Processor.type'
+        db.delete_column('timeside_processors', 'type')
+
+
+    def backwards(self, orm):
+        # Adding field 'Processor.type'
+        db.add_column('timeside_processors', 'type',
+                      self.gf('django.db.models.fields.CharField')(default='none', max_length=64),
+                      keep_default=False)
+
+
+    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'})
+        },
+        'timeside.experience': {
+            'Meta': {'object_name': 'Experience', 'db_table': "'timeside_experiences'"},
+            'author': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'experiences'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+            'date_added': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'null': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'experiences': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'other_experiences'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['timeside.Experience']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_preset': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'processors': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'experiences'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['timeside.Processor']"}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '512', 'blank': 'True'}),
+            'uuid': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '512', 'blank': 'True'})
+        },
+        'timeside.item': {
+            'Meta': {'ordering': "['title']", 'object_name': 'Item', 'db_table': "'timeside_items'"},
+            'author': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'items'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+            'date_added': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'null': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'file': ('django.db.models.fields.files.FileField', [], {'max_length': '1024', 'blank': 'True'}),
+            'hdf5': ('django.db.models.fields.files.FileField', [], {'max_length': '1024', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'lock': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'mime_type': ('django.db.models.fields.CharField', [], {'max_length': '256', 'blank': 'True'}),
+            'sha1': ('django.db.models.fields.CharField', [], {'max_length': '512', 'blank': 'True'}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '512', 'blank': 'True'}),
+            'url': ('django.db.models.fields.URLField', [], {'max_length': '1024', 'blank': 'True'}),
+            'uuid': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '512', 'blank': 'True'})
+        },
+        'timeside.parameters': {
+            'Meta': {'object_name': 'Parameters'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_preset': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'parameters': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'processor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parameters'", 'null': 'True', 'to': "orm['timeside.Processor']"})
+        },
+        'timeside.processor': {
+            'Meta': {'object_name': 'Processor', 'db_table': "'timeside_processors'"},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'pid': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
+            'version': ('django.db.models.fields.CharField', [], {'max_length': '64', 'blank': 'True'})
+        },
+        'timeside.result': {
+            'Meta': {'object_name': 'Result', 'db_table': "'timeside_results'"},
+            'date_added': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'null': 'True', 'blank': 'True'}),
+            'hdf5': ('django.db.models.fields.files.FileField', [], {'max_length': '1024', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'item': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'results'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['timeside.Item']"}),
+            'output': ('django.db.models.fields.files.FileField', [], {'max_length': '1024', 'blank': 'True'}),
+            'output_mime_type': ('django.db.models.fields.CharField', [], {'max_length': '256', 'blank': 'True'}),
+            'processor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'results'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['timeside.Processor']"}),
+            'status': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
+            'uuid': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '512', 'blank': 'True'})
+        },
+        'timeside.selection': {
+            'Meta': {'object_name': 'Selection', 'db_table': "'timeside_selections'"},
+            'author': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'selections'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+            'date_added': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'null': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'items': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'selections'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['timeside.Item']"}),
+            'selections': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'other_selections'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['timeside.Selection']"}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '512', 'blank': 'True'}),
+            'uuid': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '512', 'blank': 'True'})
+        },
+        'timeside.task': {
+            'Meta': {'object_name': 'Task', 'db_table': "'timeside_tasks'"},
+            'author': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'tasks'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),
+            'experience': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'task'", 'null': 'True', 'to': "orm['timeside.Experience']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'selection': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'task'", 'null': 'True', 'to': "orm['timeside.Selection']"}),
+            'status': ('django.db.models.fields.IntegerField', [], {'default': '1'})
+        }
+    }
+
+    complete_apps = ['timeside']
\ No newline at end of file
index e35d1b89d3ca5f2738f3f544f20992bffd047e35..78883c5aa3bf04c0d1d555c267482ae501a29682 100644 (file)
@@ -15,9 +15,6 @@ processors = timeside.core.processors(timeside.api.IProcessor)
 
 PROCESSOR_PIDS = [(processor.id(), processor.id())  for processor in processors]
 
-PROCESSOR_TYPES = (('decoder', _('decoder')), ('analyzer', _('analyzer')),
-                   ('grapher', _('grapher')), ('encoder', _('encoder')))
-
 STATUS = ((0, _('failed')), (1, _('pending')), (2, _('running')),
                          (3, _('done')), (4, _('ready')))
 
@@ -116,7 +113,6 @@ class Experience(DocBaseResource):
 class Processor(models.Model):
     
     pid = models.CharField(_('pid'), choices=PROCESSOR_PIDS, max_length=256)
-    type = models.CharField(_('type'), choices=PROCESSOR_TYPES, default='none', max_length=64)
     version = models.CharField(_('version'), max_length=64, blank=True)
 
     class Meta(MetaCore):
@@ -124,7 +120,7 @@ class Processor(models.Model):
         verbose_name = _('processor')
 
     def __unicode__(self):
-        return '_'.join([self.type, self.pid, str(self.id)])
+        return '_'.join([self.pid, str(self.id)])
     
     def save(self, **kwargs):
         if not self.version:
index 82634f44175521bb6e0689457aa4d6bb10076b47..7acafe006670f76587806aef5429e2146f548d38 100644 (file)
@@ -7,44 +7,6 @@ from django.views.generic import *
 from timeside.serializers import *
 
 
-def stream_from_file(__file):
-    chunk_size = 0x10000
-    f = open(__file, 'r')
-    while True:
-        __chunk = f.read(chunk_size)
-        if not len(__chunk):
-            f.close()
-            break
-        yield __chunk
-
-
-class IndexView(ListView):
-
-    model = Item
-    template_name='timeside/index.html'
-
-    def get_context_data(self, **kwargs):
-        context = super(IndexView, self).get_context_data(**kwargs)
-        return context
-
-    def dispatch(self, *args, **kwargs):
-        return super(IndexView, self).dispatch(*args, **kwargs)
-
-
-class ItemAnalyzerView(DetailView):
-    
-    model = Item
-
-    def results(self):
-        item = self.get_object()
-        results = AnalyzerResult()
-        return results.from_hdf5(self.hdf5).to_json()
-    
-    def get_context_data(self, **kwargs):
-        context = super(ItemJsonAnalyzerView, self).get_context_data(**kwargs)
-        return context
-    
-
 
 class SelectionViewSet(viewsets.ModelViewSet):
     
@@ -92,3 +54,42 @@ class UserViewSet(viewsets.ModelViewSet):
     
     model = User
     serializer_class = UserSerializer
+
+
+
+def stream_from_file(__file):
+    chunk_size = 0x10000
+    f = open(__file, 'r')
+    while True:
+        __chunk = f.read(chunk_size)
+        if not len(__chunk):
+            f.close()
+            break
+        yield __chunk
+
+
+class IndexView(ListView):
+
+    model = Item
+    template_name='timeside/index.html'
+
+    def get_context_data(self, **kwargs):
+        context = super(IndexView, self).get_context_data(**kwargs)
+        return context
+
+    def dispatch(self, *args, **kwargs):
+        return super(IndexView, self).dispatch(*args, **kwargs)
+
+
+class ItemAnalyzerView(DetailView):
+    
+    model = Item
+
+    def results(self):
+        item = self.get_object()
+        results = AnalyzerResult()
+        return results.from_hdf5(self.hdf5).to_json()
+    
+    def get_context_data(self, **kwargs):
+        context = super(ItemJsonAnalyzerView, self).get_context_data(**kwargs)
+        return context