]> git.parisson.com Git - telemeta.git/commitdiff
add TIMESIDE_DEFAULT_GRAPHER_ID in settings to select the default grapher in the...
authorGuillaume Pellerin <yomguy@parisson.com>
Tue, 21 Jan 2014 12:17:12 +0000 (13:17 +0100)
committerGuillaume Pellerin <yomguy@parisson.com>
Tue, 21 Jan 2014 12:17:12 +0000 (13:17 +0100)
example/sandbox/settings.py
telemeta/views/item.py

index 24d6552bdd5b28693d170e2277d709c7c75207b2..d50072f8dcf669aabcc47a8ef116bb6031437f51 100644 (file)
@@ -157,6 +157,8 @@ TELEMETA_DOWNLOAD_FORMATS = ('wav', 'mp3', 'ogg', 'flac')
 TELEMETA_PUBLIC_ACCESS_PERIOD = 51
 TELEMETA_DEFAULT_WAVEFORM_SIZES = ['360x130', '640x130']
 
+TIMESIDE_DEFAULT_GRAPHER_ID = 'waveform_centroid'
+
 AUTH_PROFILE_MODULE = 'telemeta.userprofile'
 SESSION_EXPIRE_AT_BROWSER_CLOSE = False
 
index 5a9bb215513320cecd8804209b89c9d01a7f0e04..0ae7e9c0fffc51029938c97121103808665c3483 100644 (file)
@@ -51,6 +51,7 @@ class ItemView(object):
 
     export_enabled = getattr(settings, 'TELEMETA_DOWNLOAD_ENABLED', True)
     export_formats = getattr(settings, 'TELEMETA_DOWNLOAD_FORMATS', ('mp3', 'wav'))
+    default_grapher = getattr(settings, 'TIMESIDE_DEFAULT_GRAPHER_ID', ('waveform_simple'))
 
     def get_export_formats(self):
         formats = []
@@ -94,6 +95,15 @@ class ItemView(object):
 
         return previous, next
 
+    def get_graphers(self):
+        graphers = []
+        for grapher in self.graphers:
+            if grapher.id() == self.default_grapher:
+                graphers.insert(0, {'name':grapher.name(), 'id': grapher.id()})
+            else:
+                graphers.append({'name':grapher.name(), 'id': grapher.id()})
+        return graphers
+        
     def item_detail(self, request, public_id=None, marker_id=None, width=None, height=None,
                         template='telemeta/mediaitem_detail.html'):
         """Show the details of a given item"""
@@ -115,15 +125,6 @@ class ItemView(object):
             messages.error(request, title)
             return render(request, 'telemeta/messages.html', {'description' : description})
 
-        graphers = []
-        for grapher in self.graphers:
-            graphers.append({'name':grapher.name(), 'id': grapher.id()})
-            
-        if request.REQUEST.has_key('grapher_id'):
-            grapher_id = request.REQUEST['grapher_id']
-        else:
-            grapher_id = getattr(settings, 'TELEMETA_DEFAULT_GRAPHER_ID', 'waveform')
-
         previous, next = self.item_previous_next(item)
 
         mime_type = self.item_analyze(item)
@@ -147,7 +148,7 @@ class ItemView(object):
 
         return render(request, template,
                     {'item': item, 'export_formats': self.get_export_formats(),
-                    'visualizers': graphers, 'visualizer_id': grapher_id,
+                    'visualizers': self.get_graphers(),
                     'audio_export_enabled': self.export_enabled,
                     'previous' : previous, 'next' : next, 'marker': marker_id, 'playlists' : playlists,
                     'access': access, 'width': width, 'height': height,
@@ -161,19 +162,10 @@ class ItemView(object):
         item = MediaItem.objects.get(public_id=public_id)
         access = get_item_access(item, request.user)
 
-        graphers = []
-        for grapher in self.graphers:
-            graphers.append({'name':grapher.name(), 'id': grapher.id()})
-        if request.REQUEST.has_key('grapher_id'):
-            grapher_id = request.REQUEST['grapher_id']
-        else:
-            try:
-                grapher_id = settings.TELEMETA_DEFAULT_GRAPHER_ID
-            except:
-                grapher_id = 'waveform'
-
         previous, next = self.item_previous_next(item)
+
         mime_type = self.item_analyze(item)
+
         #FIXME: use mimetypes.guess_type
         if 'quicktime' in mime_type:
             mime_type = 'video/mp4'
@@ -209,7 +201,7 @@ class ItemView(object):
         return render(request, template,
                     {'item': item,
                      'export_formats': self.get_export_formats(),
-                    'visualizers': graphers, 'visualizer_id': grapher_id,
+                    'visualizers': self.get_graphers(),
                     'audio_export_enabled': self.export_enabled,
                     'forms': forms, 'previous' : previous,
                     'next' : next, 'mime_type': mime_type, 'access': access,