msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-03-08 18:30+0100\n"
+"POT-Creation-Date: 2010-04-11 17:36+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Olivier Guilyardi <olivier samalyse com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
msgid "user"
msgstr "utilisateur"
-#: templates/telemeta_default/base.html:32
+#: templates/telemeta_default/base.html:37
+msgid "Sign out"
+msgstr "Déconnexion"
+
+#: templates/telemeta_default/base.html:39
+#: templates/telemeta_default/login.html:20
+msgid "Sign in"
+msgstr "Connexion"
+
+#: templates/telemeta_default/base.html:46
#: templates/telemeta_default/search_criteria.html:134
msgid "Search"
msgstr "Recherche"
-#: templates/telemeta_default/base.html:34
+#: templates/telemeta_default/base.html:48
msgid "Advanced search"
msgstr "Recherche avancée"
-#: templates/telemeta_default/base.html:41
+#: templates/telemeta_default/base.html:55
msgid "Collections"
msgstr "Collections"
-#: templates/telemeta_default/base.html:41
+#: templates/telemeta_default/base.html:55
msgid "Items"
msgstr "Items"
-#: templates/telemeta_default/base.html:41
+#: templates/telemeta_default/base.html:55
msgid "Geo Navigator"
msgstr "Géo-Navigateur"
-#: templates/telemeta_default/base.html:41
+#: templates/telemeta_default/base.html:55
msgid "Admin"
msgstr "Admin"
-#: templates/telemeta_default/base.html:61
+#: templates/telemeta_default/base.html:75
msgid "Powered by"
msgstr "Propulsé par"
-#: templates/telemeta_default/base.html:62
+#: templates/telemeta_default/base.html:76
msgid "By"
msgstr "Par"
-#: templates/telemeta_default/base.html:66
+#: templates/telemeta_default/base.html:80
msgid "Visit the Telemeta open source project at"
msgstr "Visitez le projet libre Telemeta"
msgid "Collection"
msgstr "Collection"
-#: templates/telemeta_default/collection_detail.html:52
+#: templates/telemeta_default/collection_detail.html:53
msgid "Recording year"
msgstr "Année d'enregistrement"
-#: templates/telemeta_default/collection_detail.html:61
-#: templates/telemeta_default/mediaitem_detail.html:146
+#: templates/telemeta_default/collection_detail.html:63
+#: templates/telemeta_default/mediaitem_detail.html:148
msgid "Geographic and cultural informations"
msgstr "Indications géographiques et culturelles"
-#: templates/telemeta_default/collection_detail.html:74
+#: templates/telemeta_default/collection_detail.html:76
msgid "Legal mentions"
msgstr "Mentions légales"
-#: templates/telemeta_default/collection_detail.html:79
+#: templates/telemeta_default/collection_detail.html:81
#: templates/telemeta_default/inc/collection_list.html:17
#: templates/telemeta_default/inc/mediaitem_list.html:16
msgid "Recordist"
msgstr "Collecteur"
-#: templates/telemeta_default/collection_detail.html:100
-#: templates/telemeta_default/mediaitem_detail.html:211
+#: templates/telemeta_default/collection_detail.html:102
+#: templates/telemeta_default/mediaitem_detail.html:213
msgid "Archiving data"
msgstr "Données d'archivage"
-#: templates/telemeta_default/collection_detail.html:123
-#: templates/telemeta_default/mediaitem_detail.html:226
+#: templates/telemeta_default/collection_detail.html:125
+#: templates/telemeta_default/mediaitem_detail.html:228
msgid "Technical data"
msgstr "Données techniques"
-#: templates/telemeta_default/collection_detail.html:128
-#: templates/telemeta_default/mediaitem_detail.html:229
+#: templates/telemeta_default/collection_detail.html:130
+#: templates/telemeta_default/mediaitem_detail.html:231
msgid "Media type"
msgstr "Type de media"
-#: templates/telemeta_default/collection_detail.html:128
-#: templates/telemeta_default/mediaitem_detail.html:229
+#: templates/telemeta_default/collection_detail.html:130
+#: templates/telemeta_default/mediaitem_detail.html:231
msgid "Audio"
msgstr "Audio"
-#: templates/telemeta_default/collection_detail.html:133
+#: templates/telemeta_default/collection_detail.html:135
#: templates/telemeta_default/geo_countries.html:14
msgid "Number of items"
msgstr "Nombre d'items"
msgid "Musical selection"
msgstr "Sélection musicale"
+#: templates/telemeta_default/login.html:5
+msgid "User authentication"
+msgstr "Identification"
+
+#: templates/telemeta_default/login.html:8
+msgid "Your username and password didn't match. Please try again."
+msgstr "Vos nom d'utilisateur et/ou mot de passe sont incorrects. Essayez à nouveau."
+
#: templates/telemeta_default/mediaitem_detail.html:5
#: templates/telemeta_default/mediaitem_detail_dc.html:5
msgid "Item"
msgstr "Item"
-#: templates/telemeta_default/mediaitem_detail.html:137
+#: templates/telemeta_default/mediaitem_detail.html:120
+msgid "Download:"
+msgstr "Téléchargement:"
+
+#: templates/telemeta_default/mediaitem_detail.html:139
msgid "Recording date"
msgstr "Date d'enregistrement"
-#: templates/telemeta_default/mediaitem_detail.html:149
+#: templates/telemeta_default/mediaitem_detail.html:151
#: templates/telemeta_default/inc/mediaitem_list.html:18
msgid "Location"
msgstr "Lieu"
-#: templates/telemeta_default/mediaitem_detail.html:164
+#: templates/telemeta_default/mediaitem_detail.html:166
msgid "Musical informations"
msgstr "Informations sur la musique"
-#: templates/telemeta_default/mediaitem_detail.html:200
+#: templates/telemeta_default/mediaitem_detail.html:202
msgid "General informations"
msgstr "Informations générales"
import os
import sys
-from django.template import Context, loader
+from django.template import RequestContext, loader
from django import template
from django.http import HttpResponse
from django.http import Http404
from django.shortcuts import render_to_response, redirect
from django.views.generic import list_detail
from django.conf import settings
+from django.contrib import auth
+from django.contrib.auth.decorators import login_required
import telemeta
from telemeta.models import MediaItem, Location, MediaCollection, EthnicGroup
import datetime
from telemeta.util.unaccent import unaccent_icmp
+def render(request, template, data = None, mimetype = None):
+ return render_to_response(template, data, context_instance=RequestContext(request),
+ mimetype=mimetype)
+
class WebView(Component):
"""Provide web UI methods"""
ids = [id for id in MediaItem.objects.all().values_list('id', flat=True).order_by('?')[0:4]]
items = MediaItem.objects.enriched().filter(pk__in=ids)
- context = Context({'page_content': pages.get_page_content(request, 'parts/home', ignore_slash_issue=True),
- 'items': items})
+ context = RequestContext(request, {
+ 'page_content': pages.get_page_content(request, 'parts/home', ignore_slash_issue=True),
+ 'items': items})
return HttpResponse(template.render(context))
def collection_detail(self, request, public_id, template=''):
collection = MediaCollection.objects.get(public_id=public_id)
- return render_to_response(template, {'collection': collection})
+ return render(request, template, {'collection': collection})
def item_detail(self, request, public_id, template='telemeta/mediaitem_detail.html'):
for plugin in vamp_plugins:
vamp_plugin_list.append(':'.join(plugin[1:]))
- return render_to_response(template,
+ return render(request, template,
{'item': item, 'export_formats': formats,
'visualizers': visualizers, 'visualizer_id': visualizer_id,
- 'analysers': analyzers, 'vamp_plugins': vamp_plugin_list})
+ 'analysers': analyzers, 'vamp_plugins': vamp_plugin_list,
+ 'audio_export_enabled': getattr(settings, 'TELEMETA_DOWNLOAD_ENABLED', False)
+ })
def item_visualize(self, request, public_id, visualizer_id, width, height):
for visualizer in self.visualizers:
def item_export(self, request, public_id, extension):
"""Export a given media item in the specified format (OGG, FLAC, ...)"""
+
+ if extension != 'mp3' and not getattr(settings, 'TELEMETA_DOWNLOAD_ENABLED', False):
+ raise Http404 # FIXME: should be some sort of permissions denied error
+
for exporter in self.exporters:
if exporter.get_file_extension() == extension:
break
rec_years = year_min and year_max and range(year_min, year_max + 1) or []
year_min, year_max = MediaCollection.objects.all().publishing_year_range()
pub_years = year_min and year_max and range(year_min, year_max + 1) or []
- return render_to_response('telemeta/search_criteria.html', {
+ return render(request, 'telemeta/search_criteria.html', {
'rec_years': rec_years,
'pub_years': pub_years,
'ethnic_groups': MediaItem.objects.all().ethnic_groups(),
def __get_admin_context_vars(self):
return {"enumerations": self.__get_enumerations_list()}
+ @login_required
def admin_index(self, request):
- return render_to_response('telemeta/admin.html', self. __get_admin_context_vars())
+ return render(request, 'telemeta/admin.html', self. __get_admin_context_vars())
def __get_enumeration(self, id):
from django.db.models import get_models
return model
+ @login_required
def edit_enumeration(self, request, enumeration_id):
enumeration = self.__get_enumeration(enumeration_id)
vars["enumeration_id"] = enumeration._meta.module_name
vars["enumeration_name"] = enumeration._meta.verbose_name
vars["enumeration_values"] = enumeration.objects.all()
- return render_to_response('telemeta/enumeration_edit.html', vars)
+ return render(request, 'telemeta/enumeration_edit.html', vars)
+ @login_required
def add_to_enumeration(self, request, enumeration_id):
enumeration = self.__get_enumeration(enumeration_id)
return self.edit_enumeration(request, enumeration_id)
+ @login_required
def update_enumeration(self, request, enumeration_id):
enumeration = self.__get_enumeration(enumeration_id)
return self.edit_enumeration(request, enumeration_id)
+ @login_required
def edit_enumeration_value(self, request, enumeration_id, value_id):
enumeration = self.__get_enumeration(enumeration_id)
vars["enumeration_id"] = enumeration._meta.module_name
vars["enumeration_name"] = enumeration._meta.verbose_name
vars["enumeration_record"] = enumeration.objects.get(id__exact=value_id)
- return render_to_response('telemeta/enumeration_edit_value.html', vars)
+ return render(request, 'telemeta/enumeration_edit_value.html', vars)
+ @login_required
def update_enumeration_value(self, request, enumeration_id, value_id):
if request.POST.has_key("save"):
raise Http404
template = loader.get_template(template)
- context = Context({'collection': collection, 'host': request.META['HTTP_HOST']})
+ context = RequestContext(request, {'collection': collection, 'host': request.META['HTTP_HOST']})
return HttpResponse(template.render(context), mimetype=mimetype)
def item_playlist(self, request, public_id, template, mimetype):
raise Http404
template = loader.get_template(template)
- context = Context({'item': item, 'host': request.META['HTTP_HOST']})
+ context = RequestContext(request, {'item': item, 'host': request.META['HTTP_HOST']})
return HttpResponse(template.render(context), mimetype=mimetype)
def list_continents(self, request):
continents = MediaItem.objects.all().countries(group_by_continent=True)
- return render_to_response('telemeta/geo_continents.html',
+ return render(request, 'telemeta/geo_continents.html',
{'continents': continents, 'gmap_key': settings.TELEMETA_GMAP_KEY })
def country_info(self, request, id):
country = Location.objects.get(pk=id)
- return render_to_response('telemeta/country_info.html', {
+ return render(request, 'telemeta/country_info.html', {
'country': country, 'continent': country.continents()[0]})
def list_countries(self, request, continent):
continent = Location.objects.by_flatname(continent)[0]
countries = MediaItem.objects.by_location(continent).countries()
- return render_to_response('telemeta/geo_countries.html', {
+ return render(request, 'telemeta/geo_countries.html', {
'continent': continent,
'countries': countries
})
if isinstance(content, pages.PageAttachment):
return HttpResponse(content, content.mimetype())
else:
- return render_to_response('telemeta/flatpage.html', {'page_content': content })
-
+ return render(request, 'telemeta/flatpage.html', {'page_content': content })
+
+ def logout(self, request):
+ auth.logout(request)
+ return redirect('telemeta-home')