From 79be73c3bd684cdcce1077ee02771c9795b294d0 Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Tue, 21 Jan 2014 13:17:12 +0100 Subject: [PATCH] add TIMESIDE_DEFAULT_GRAPHER_ID in settings to select the default grapher in the player --- example/sandbox/settings.py | 2 ++ telemeta/views/item.py | 36 ++++++++++++++---------------------- 2 files changed, 16 insertions(+), 22 deletions(-) diff --git a/example/sandbox/settings.py b/example/sandbox/settings.py index 24d6552b..d50072f8 100644 --- a/example/sandbox/settings.py +++ b/example/sandbox/settings.py @@ -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 diff --git a/telemeta/views/item.py b/telemeta/views/item.py index 5a9bb215..0ae7e9c0 100644 --- a/telemeta/views/item.py +++ b/telemeta/views/item.py @@ -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, -- 2.39.5