Binary file .DS_Store has changed
--- a/.settings/org.eclipse.core.resources.prefs Thu Feb 02 15:35:19 2012 +0100
+++ b/.settings/org.eclipse.core.resources.prefs Thu Feb 02 15:35:47 2012 +0100
@@ -1,4 +1,4 @@
-#Wed Jan 25 12:23:22 CET 2012
+#Wed Feb 01 17:37:13 CET 2012
eclipse.preferences.version=1
encoding//src/ldt/ldt/core/migrations/0001_initial.py=utf-8
encoding//src/ldt/ldt/core/migrations/0002_auto__del_owner.py=utf-8
@@ -11,6 +11,7 @@
encoding//src/ldt/ldt/ldt_utils/migrations/0009_auto__chg_field_content_image__chg_field_project_image.py=utf-8
encoding//src/ldt/ldt/ldt_utils/migrations/0010_auto__add_annotationstat.py=utf-8
encoding//src/ldt/ldt/ldt_utils/migrations/0011_gen_stat_annotation.py=utf-8
+encoding//src/ldt/ldt/management/utils.py=utf-8
encoding//src/ldt/ldt/text/migrations/0001_initial.py=utf-8
encoding//src/ldt/ldt/user/migrations/0001_initial.py=utf-8
encoding//src/ldt/ldt/user/migrations/0002_auto__del_irigroup.py=utf-8
--- a/src/ldt/ldt/ldt_utils/models.py Thu Feb 02 15:35:19 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/models.py Thu Feb 02 15:35:47 2012 +0100
@@ -224,9 +224,7 @@
create_front_project = True
if not self.nb_annotation:
- self.nb_annotation = 0
- if not self.stat_annotation:
- self.stat_annotation = ('0,' * settings.DIVISIONS_FOR_STAT_ANNOTATION)[:-1]
+ self.nb_annotation = 0
super(Content, self).save(*args, **kwargs)
@@ -403,12 +401,16 @@
def __make_getter(self, i):
def inner_getter(self):
+ if not self.stat_annotation:
+ self.stat_annotation = self.__list2str([0] * (settings.DIVISIONS_FOR_STAT_ANNOTATION + len(settings.SYNTAX.keys())))
l = self.__str2list(self.stat_annotation)
return l[Content.__pol_indices[i]]
return inner_getter
def __make_setter(self, i):
def inner_setter(self, value):
+ if not self.stat_annotation:
+ self.stat_annotation = self.__list2str([0] * (settings.DIVISIONS_FOR_STAT_ANNOTATION + len(settings.SYNTAX.keys())))
l = self.__str2list(self.stat_annotation)
l[Content.__pol_indices[i]] = value
self.stat_annotation = self.__list2str(l)
@@ -607,7 +609,7 @@
polemics = models.IntegerField(null=True, blank=True, default=0)
- # Mask is 0000, representing OK|KO|Q|REF
+ # Mask is 0000, representing OK|KO|Q|REF, 1 if the syntax is in the segment, 0 else
mask = {
'OK': set([8,9,10,11,12,13,14,15]),
'KO': set([4,5,6,7,12,13,14,15]),
--- a/src/ldt/ldt/ldt_utils/stat.py Thu Feb 02 15:35:19 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/stat.py Thu Feb 02 15:35:47 2012 +0100
@@ -53,7 +53,7 @@
return True
-def add_annotation_to_stat(content, begin, end, polemics=[]):
+def add_annotation_to_stat(content, begin, end):
nb_division = settings.DIVISIONS_FOR_STAT_ANNOTATION
if not content.nb_annotation or not content.stat_annotation:
@@ -66,10 +66,7 @@
buckets = find_buckets(content.annotation_volume, limits, begin, end)
content.annotation_volume = buckets
content.last_annotated = datetime.datetime.now()
-
- for polemic in polemics:
- update_polemic_stat(content, polemic)
-
+
content.save()
def get_string_from_buckets(buckets):
@@ -106,16 +103,3 @@
buckets[i] += 1
return buckets
-
-def update_polemic_stat(content, polemic_hashtag):
- if polemic_hashtag == "OK":
- content.pol_positive += 1
- if polemic_hashtag == "KO":
- content.pol_negative += 1
- if polemic_hashtag == "Q":
- content.pol_question += 1
- if polemic_hashtag == "REF":
- content.pol_reference += 1
-
- return content
-
--- a/src/ldt/ldt/ldt_utils/templates/front/front_all_contents.html Thu Feb 02 15:35:19 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/front/front_all_contents.html Thu Feb 02 15:35:47 2012 +0100
@@ -3,7 +3,16 @@
{% load thumbnail %}
{% load front_tags %}
-{% block title %}Lignes de temps : groupe "{{group.name}}"{% endblock %}
+{% block title %}
+
+{% if tag_label %}
+{% blocktrans %}Lignes de temps : {{tag_label}}{% endblocktrans %}
+{% else %}
+{% trans "Lignes de temps : all medias" %}
+{% endif %}
+
+
+{% endblock %}
{% block js_import %}
{{block.super}}
--- a/src/ldt/ldt/ldt_utils/templates/front/front_base.html Thu Feb 02 15:35:19 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/front/front_base.html Thu Feb 02 15:35:47 2012 +0100
@@ -36,14 +36,18 @@
<li id="li_annotation">
<div class="fl">
<!-- a href="#"><img src="{{LDT_MEDIA_PREFIX}}img/annot_icon.png" id="annot_icon" /></a -->
- <a href="http://www.iri.centrepompidou.fr" target="_blank" title="{% trans 'link IRI' %}">IRI</a>
+ <a href="{% url root-view %}" title="{% trans "back" %}">{% trans "back" %}</a>
</div>
<div class="fl">
<!-- a href="{% url root-view %}">{% trans 'Annotate' %}</a -->
</div>
</li>
<li id="li_connexion">
- <a href="{% url ldt.user.views.logout_view %}" title="{% trans "Log out" %}">{% trans "Log out" %}</a>
+ {% if user.is_authenticated %}
+ <a href="{% url ldt.user.views.logout_view %}" title="{% trans "Log out" %}">{% trans "Log out" %}</a>
+ {% else %}
+ <a href="{% url auth_login %}" title="{% trans "Log in" %}">{% trans "Log in" %}</a>
+ {% endif %}
</li>
</ul>
{% block body %}
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/embed_player.html Thu Feb 02 15:35:19 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/embed_player.html Thu Feb 02 15:35:47 2012 +0100
@@ -1,5 +1,6 @@
{% spaceless %}
{% load i18n %}
+{% load thumbnail %}
<div>
<div id="{{ player_id }}_embed" class="iri_player_embed">
</div>
@@ -17,7 +18,10 @@
IriSP.widgetsDefaults["AnnotationsListWidget"] = {};
IriSP.widgetsDefaults["AnnotationsListWidget"].platform_url = "{{WEB_URL}}{% url segment_api iri_id='{content}' begin='{begin}' end='{end}' %}";
- IriSP.platform_url = "{{WEB_URL}}{{BASE_URL}}";
+ IriSP.platform_url = "{{WEB_URL}}{{BASE_URL}}";
+ IriSP.user = {name: '{{request.user.username}}',
+ avatar: '{% thumbnail request.user.get_profile.image "48x48" format="PNG" crop="center" as im %}{{WEB_URL}}{{ im.url }}{% endthumbnail %}',
+ };
var config = {
--- a/src/ldt/ldt/ldt_utils/urls.py Thu Feb 02 15:35:19 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/urls.py Thu Feb 02 15:35:47 2012 +0100
@@ -28,7 +28,7 @@
url(r'^cljson/externalid/(?P<id>.*)$', 'views.json.project_json_externalid'),
url(r'cljson/idcutting/(?P<id>.*)/(?P<cutting_id>.*)$', 'views.json.project_json_cutting_id'),
url(r'^rdf/id/(?P<ldt_id>.*)$', 'views.rdf.project_annotations_rdf'),
- url(r'^/?$', "views.workspace.home", name="root-view"),
+ url(r'^workspace/?$', "views.workspace.home", name="root-view"),
url(r'^filterprojects/_(?P<filter>[\w\%\_\-\+]*?)/(?P<is_owner>true|false)/(?P<status>\d)$', "views.project.projects_filter",),
url(r'^filterprojects/_(?P<filter>[\w\%\_\-\+]*?)/(?P<is_owner>true|false)/(?P<status>\d)/(?P<id_group>.*)$', "views.project.projects_filter",),
url(r'^filtercontents/_(?P<filter>[\w\%\_\-\+]*?)/$', "views.content.contents_filter",),
@@ -41,7 +41,7 @@
url(r'^segmentHighlight/(?P<project_id>.*)/(?P<content_id>.*)/(?P<ensemble_id>.*)/(?P<cutting_id>.*)/(?P<segment_id>.*)/$', 'views.lignesdetemps.highlight_segment'),
url(r'^createGroup/$', 'views.group.create_group'),
url(r'^updateGroup/(?P<group_id>.*)$', 'views.group.update_group'),
- url(r'^front/$', 'views.front.front_home'),
+ url(r'^$', 'views.front.front_home', name='front_home'),
url(r'^front/group/(?P<group_id>.*)$', 'views.front.group_info'),
url(r'^front/player/(?P<content_iri_id>.*)/$', 'views.front.annot_content'),
url(r'^front/player/(?P<content_iri_id>.*)/(?P<project_id>.*)/(?P<cutting_id>.*)$', 'views.front.annot_content'),
--- a/src/ldt/ldt/ldt_utils/utils.py Thu Feb 02 15:35:19 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/utils.py Thu Feb 02 15:35:47 2012 +0100
@@ -289,15 +289,11 @@
def get_polemic_syntax(self, text):
polemics = []
- if '++' in text:
- polemics.append('OK')
- if '--' in text:
- polemics.append('KO')
- if '==' in text:
- polemics.append('REF')
- if '??' in text:
- polemics.append('Q')
- return polemics
+ for key in settings.SYNTAX.keys():
+ if key in text:
+ polemics.append(settings.SYNTAX[key])
+
+ return polemics
def __del__(self):
self.save()
--- a/src/ldt/ldt/ldt_utils/views/content.py Thu Feb 02 15:35:19 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/views/content.py Thu Feb 02 15:35:47 2012 +0100
@@ -211,15 +211,19 @@
if not created:
content.save() # Check if user is allowed to change object before assigning permissions.
+
cached_assign('change_content', request.user, content)
cached_assign('view_content', request.user, content)
everyone = Group.objects.get(name=settings.PUBLIC_GROUP_NAME)
+ print content_form.cleaned_data
+
if content_form.cleaned_data['is_public']:
cached_assign('view_content', everyone, content)
if media:
cached_assign('view_media', everyone, media)
- elif content_form.cleaned_data["share"]:
+ else:
remove_perm('view_content', everyone, content)
+ remove_perm('view_media', everyone, media)
assign_perm_to_obj(content, content_form.cleaned_data['read_list'], content_form.cleaned_data['write_list'], request.user)
if media:
assign_perm_to_obj(media, content_form.cleaned_data['read_list'], content_form.cleaned_data['write_list'], request.user)
@@ -230,7 +234,6 @@
if request.user.is_staff and content_defaults.has_key('front_project'):
content.front_project = content_defaults['front_project']
content.save()
-
picture_form.model = content
picture_form.save()
--- a/src/ldt/ldt/ldt_utils/views/front.py Thu Feb 02 15:35:19 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/views/front.py Thu Feb 02 15:35:47 2012 +0100
@@ -10,7 +10,6 @@
from tagging.models import Tag, TaggedItem
-@login_required
def front_home(request):
# Get the 3 last annotated contents
last_contents = Content.objects.order_by('-last_annotated')[:3]
@@ -30,7 +29,6 @@
context_instance=RequestContext(request))
-@login_required
def group_info(request, group_id):
# Get the active group
group = Group.objects.get(id=group_id)
@@ -48,15 +46,15 @@
context_instance=RequestContext(request))
-@login_required
+
def all_contents(request):
# Get the tag parameter if possible
tag_label = request.GET.get("tag")
# Get all the public contents group
if tag_label is None :
- content_list = Content.safe_objects.all()
+ content_list = Content.objects.all()
else :
- content_list = TaggedItem.objects.get_by_model(Content.safe_objects.all(), '"'+tag_label+'"')
+ content_list = TaggedItem.objects.get_by_model(Content.objects.all(), '"'+tag_label+'"')
# Get the main tag list
front_tags = settings.FRONT_TAG_LIST
# Get the all tags list
@@ -70,7 +68,6 @@
context_instance=RequestContext(request))
-@login_required
def annot_content(request, content_iri_id, project_id=None, cutting_id=None):
# Get the wanted content
content = Content.objects.get(iri_id=content_iri_id)
@@ -94,7 +91,12 @@
proj = proj[0]
else:
proj = Project.safe_objects.get(ldt_id=project_id)
-
+
+ if not proj.state == 2: # If the original front project is unpublished
+ content.create_front_project()
+ proj = content.front_project
+
+
# Vars for player
player_id = "player_project_" + proj.ldt_id
--- a/src/ldt/ldt/ldt_utils/views/json.py Thu Feb 02 15:35:19 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/views/json.py Thu Feb 02 15:35:47 2012 +0100
@@ -1,10 +1,11 @@
from django.conf import settings
-from django.http import HttpResponse
+from django.http import HttpResponse, HttpResponseForbidden
from django.shortcuts import get_object_or_404, get_list_or_404
from django.utils import simplejson
from django.utils.html import escape
from ldt.ldt_utils.models import Project
from ldt.ldt_utils.projectserializer import ProjectSerializer
+import ldt.auth as ldt_auth
def project_json_id(request, id):
@@ -29,10 +30,8 @@
def project_json(request, project, serialize_contents=True, first_cutting=None):
-# TODO : the following lines have been commented for tests only
-# they should not be commented for production
-# if not ldt_auth.check_access(request.user, project):
-# return HttpResponseForbidden(_("You can not access this project"))
+ if not ldt_auth.check_access(request.user, project):
+ return HttpResponseForbidden(_("You can not access this project"))
mimetype = request.REQUEST.get("mimetype")
if mimetype is None:
Binary file src/ldt/ldt/locale/en/LC_MESSAGES/django.mo has changed
--- a/src/ldt/ldt/locale/en/LC_MESSAGES/django.po Thu Feb 02 15:35:19 2012 +0100
+++ b/src/ldt/ldt/locale/en/LC_MESSAGES/django.po Thu Feb 02 15:35:47 2012 +0100
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-01-20 17:24+0100\n"
+"POT-Creation-Date: 2012-02-02 14:07+0100\n"
"PO-Revision-Date: 2010-02-17 03:53+0100\n"
"Last-Translator: Yves-Marie Haussonne <ymh.work@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -24,7 +24,7 @@
msgid "Time"
msgstr "Time"
-#: .\ldt_utils\forms.py:32 .\ldt_utils\templates\front\front_base.html.py:33
+#: .\ldt_utils\forms.py:32 .\ldt_utils\templates\front\front_base.html.py:34
#: .\ldt_utils\templates\ldt\ldt_utils\published_projects.html.py:52
msgid "Search"
msgstr "search"
@@ -170,11 +170,11 @@
msgid "content.duration"
msgstr "duration (ms)"
-#: .\ldt_utils\models.py:134 .\ldt_utils\models.py:530
+#: .\ldt_utils\models.py:134
msgid "content.stat_annotation"
msgstr "annotation distribution"
-#: .\ldt_utils\models.py:135 .\ldt_utils\models.py:531
+#: .\ldt_utils\models.py:135
msgid "content.nb_annotation"
msgstr "annotation number"
@@ -182,15 +182,15 @@
msgid "content.last_annotated"
msgstr "last updated"
-#: .\ldt_utils\models.py:395
+#: .\ldt_utils\models.py:461
msgid "created by"
msgstr "created by"
-#: .\ldt_utils\models.py:396
+#: .\ldt_utils\models.py:462
msgid "changed by"
msgstr "changed by"
-#: .\ldt_utils\utils.py:208
+#: .\ldt_utils\utils.py:208 .\ldt_utils\utils.py:391
msgid "Personal cutting"
msgstr "Personal cutting"
@@ -203,77 +203,98 @@
msgid "Home"
msgstr "Home"
-#: .\ldt_utils\templates\front\front_all_contents.html.py:66
-#: .\ldt_utils\templates\front\front_home.html.py:17
+#: .\ldt_utils\templates\front\front_all_contents.html.py:9
+#, python-format
+msgid "Lignes de temps : %(tag_label)s"
+msgstr "Lignes de temps : %(tag_label)s"
+
+#: .\ldt_utils\templates\front\front_all_contents.html.py:11
+msgid "Lignes de temps : all medias"
+msgstr "Lignes de temps : all medias"
+
+#: .\ldt_utils\templates\front\front_all_contents.html.py:32
+#: .\ldt_utils\templates\front\front_home.html.py:24
msgid "Filter the medias"
msgstr "Filter the medias"
-#: .\ldt_utils\templates\front\front_all_contents.html.py:69
-#: .\ldt_utils\templates\front\front_all_contents.html.py:70
-#: .\ldt_utils\templates\front\front_home.html.py:23
-#: .\ldt_utils\templates\front\front_home.html.py:43
+#: .\ldt_utils\templates\front\front_all_contents.html.py:35
+#: .\ldt_utils\templates\front\front_all_contents.html.py:36
+#: .\ldt_utils\templates\front\front_home.html.py:30
+#: .\ldt_utils\templates\front\front_home.html.py:61
msgid "All medias"
msgstr "All medias"
-#: .\ldt_utils\templates\front\front_all_contents.html.py:74
+#: .\ldt_utils\templates\front\front_all_contents.html.py:42
#: .\ldt_utils\templates\front\front_group.html.py:22
#: .\ldt_utils\templates\front\front_group.html.py:24
-#: .\ldt_utils\templates\front\front_home.html.py:29
-#: .\ldt_utils\templates\front\front_home.html.py:31
+#: .\ldt_utils\templates\front\front_home.html.py:38
#: .\ldt_utils\templates\front\front_home.html.py:49
-#: .\ldt_utils\templates\front\front_home.html.py:51
+#: .\ldt_utils\templates\front\front_home.html.py:69
+#: .\ldt_utils\templates\front\front_home.html.py:78
msgid "open this media"
msgstr "Play this media"
-#: .\ldt_utils\templates\front\front_all_contents.html.py:76
+#: .\ldt_utils\templates\front\front_all_contents.html.py:54
#: .\ldt_utils\templates\front\front_group.html.py:23
-#: .\ldt_utils\templates\front\front_home.html.py:30
-#: .\ldt_utils\templates\front\front_home.html.py:50
+#: .\ldt_utils\templates\front\front_home.html.py:48
+#: .\ldt_utils\templates\front\front_home.html.py:77
#, python-format
msgid "%(nb)s annotation on this media"
msgid_plural "%(nb)s annotations on this media"
msgstr[0] "%(nb)s annotation on this media"
msgstr[1] "%(nb)s annotations on this media"
-#: .\ldt_utils\templates\front\front_all_contents.html.py:78
+#: .\ldt_utils\templates\front\front_all_contents.html.py:56
#: .\ldt_utils\templates\front\front_group.html.py:25
-#: .\ldt_utils\templates\front\front_home.html.py:32
-#: .\ldt_utils\templates\front\front_home.html.py:52
+#: .\ldt_utils\templates\front\front_home.html.py:50
+#: .\ldt_utils\templates\front\front_home.html.py:79
msgid "by"
msgstr "by"
-#: .\ldt_utils\templates\front\front_all_contents.html.py:82
+#: .\ldt_utils\templates\front\front_all_contents.html.py:60
msgid "All tags"
msgstr "All tags"
-#: .\ldt_utils\templates\front\front_base.html.py:25
+#: .\ldt_utils\templates\front\front_base.html.py:26
msgid "homepage"
msgstr "Home page"
-#: .\ldt_utils\templates\front\front_base.html.py:25
+#: .\ldt_utils\templates\front\front_base.html.py:26
msgid "<b>Lignes</b> de temps"
msgstr "<b>Lignes</b> de temps"
-#: .\ldt_utils\templates\front\front_base.html.py:38
-#: .\ldt_utils\templates\front\front_base.html.py:56
+#: .\ldt_utils\templates\front\front_base.html.py:39
+#: .\ldt_utils\templates\front\front_base.html.py:61
msgid "link IRI"
msgstr "IRI's website"
-#: .\ldt_utils\templates\front\front_base.html.py:41
+#: .\ldt_utils\templates\front\front_base.html.py:42
#: .\ldt_utils\templates\front\front_player.html.py:5
msgid "Annotate"
msgstr "Annotate"
-#: .\ldt_utils\templates\front\front_base.html.py:45
-msgid "connection"
-msgstr "Login"
+#: .\ldt_utils\templates\front\front_base.html.py:47
+#: .\templates\cms\admin\cms\page\change_form.html.py:11
+#: .\templates\ldt\ldt_base.html.py:97
+#: .\user\templates\ldt\user\login_form.html.py:34
+msgid "Log out"
+msgstr "Log out"
-#: .\ldt_utils\templates\front\front_base.html.py:53
+#: .\ldt_utils\templates\front\front_base.html.py:49
+#: .\templates\admin\page_login.html.py:32
+#: .\user\templates\ldt\user\login_form.html.py:37
+#: .\user\templates\ldt\user\login_form.html.py:45
+#: .\user\templates\registration\login.html.py:21
+#: .\user\templates\registration\password_reset_complete.html.py:14
+msgid "Log in"
+msgstr "Log in"
+
+#: .\ldt_utils\templates\front\front_base.html.py:58
#, python-format
msgid "%(WEB_VERSION)s | %(VERSION)s"
msgstr "v%(WEB_VERSION)s | v%(VERSION)s"
-#: .\ldt_utils\templates\front\front_base.html.py:56
+#: .\ldt_utils\templates\front\front_base.html.py:61
msgid "about"
msgstr "about"
@@ -297,38 +318,38 @@
msgid "front.home"
msgstr ""
-#: .\ldt_utils\templates\front\front_home.html.py:21
+#: .\ldt_utils\templates\front\front_home.html.py:28
msgid "Last annotated medias"
msgstr "Last annotated medias"
-#: .\ldt_utils\templates\front\front_home.html.py:23
-#: .\ldt_utils\templates\front\front_home.html.py:43
+#: .\ldt_utils\templates\front\front_home.html.py:30
+#: .\ldt_utils\templates\front\front_home.html.py:61
msgid "view all medias"
msgstr "view all medias"
-#: .\ldt_utils\templates\front\front_home.html.py:41
+#: .\ldt_utils\templates\front\front_home.html.py:59
msgid "Most annotated medias"
msgstr "Most annotated medias"
-#: .\ldt_utils\templates\front\front_home.html.py:59
+#: .\ldt_utils\templates\front\front_home.html.py:86
msgid "Active groups"
msgstr "Active groups"
-#: .\ldt_utils\templates\front\front_home.html.py:64
+#: .\ldt_utils\templates\front\front_home.html.py:91
msgid "group picture"
msgstr "group picture"
-#: .\ldt_utils\templates\front\front_home.html.py:64
-#: .\ldt_utils\templates\front\front_home.html.py:68
+#: .\ldt_utils\templates\front\front_home.html.py:91
+#: .\ldt_utils\templates\front\front_home.html.py:95
msgid "view more infos on this group"
msgstr "View more information on this group"
-#: .\ldt_utils\templates\front\front_home.html.py:67
-#, fuzzy, python-format
+#: .\ldt_utils\templates\front\front_home.html.py:94
+#, python-format
msgid "%(nb)s user in this group"
msgid_plural "%(nb)s users in this group"
-msgstr[0] "%(count)s user in this group"
-msgstr[1] "%(count)s users in this group"
+msgstr[0] "%(nb)s user in this group"
+msgstr[1] "%(nb)s users in this group"
#: .\ldt_utils\templates\front\front_player.html.py:87
msgid "All annotations on the media"
@@ -342,53 +363,55 @@
#: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:56
#: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:68
#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:121
-#: .\templates\ldt\ldt_base.html.py:126
+#: .\templates\ldt\ldt_base.html.py:127
msgid "search"
msgstr "search"
-#: .\ldt_utils\templates\front\front_search_results.html.py:99
-#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:59
+#: .\ldt_utils\templates\front\front_search_results.html.py:50
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:58
#, python-format
msgid " No results for <b>%(search)s</b>."
msgstr "No results for <b>%(search)s</b>."
-#: .\ldt_utils\templates\front\front_search_results.html.py:111
+#: .\ldt_utils\templates\front\front_search_results.html.py:62
msgid "Search results for "
msgstr "Search results for"
-#: .\ldt_utils\templates\front\front_search_results.html.py:114
-#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:62
+#: .\ldt_utils\templates\front\front_search_results.html.py:65
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:61
msgid "Result"
msgstr "Result"
-#: .\ldt_utils\templates\front\front_search_results.html.py:133
+#: .\ldt_utils\templates\front\front_search_results.html.py:84
msgid "annotation distribution"
msgstr "annotation distribution"
-#: .\ldt_utils\templates\front\front_search_results.html.py:148
+#: .\ldt_utils\templates\front\front_search_results.html.py:98
+#: .\ldt_utils\templates\front\front_search_results.html.py:103
msgid "view this annotation in the player"
msgstr "view this annotation in the player"
-#: .\ldt_utils\templates\front\front_search_results.html.py:149
-#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:80
+#: .\ldt_utils\templates\front\front_search_results.html.py:99
+#: .\ldt_utils\templates\front\front_search_results.html.py:104
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:79
msgid "No title"
msgstr "No title"
-#: .\ldt_utils\templates\front\front_search_results.html.py:150
+#: .\ldt_utils\templates\front\front_search_results.html.py:100
msgid "Begin"
msgstr "Begin"
-#: .\ldt_utils\templates\front\front_search_results.html.py:150
+#: .\ldt_utils\templates\front\front_search_results.html.py:100
msgid "duration"
msgstr "duration"
-#: .\ldt_utils\templates\front\front_search_results.html.py:162
-#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:101
+#: .\ldt_utils\templates\front\front_search_results.html.py:122
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:100
msgid "previous"
msgstr "Previous"
-#: .\ldt_utils\templates\front\front_search_results.html.py:183
-#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:111
+#: .\ldt_utils\templates\front\front_search_results.html.py:142
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:110
msgid "next"
msgstr "Next"
@@ -613,7 +636,7 @@
msgstr "Do you want to leave this group ?"
#: .\ldt_utils\templates\ldt\ldt_utils\groups.html.py:92
-#: .\templates\ldt\ldt_base.html.py:114
+#: .\templates\ldt\ldt_base.html.py:115
msgid "My groups"
msgstr "My groups"
@@ -642,7 +665,7 @@
msgstr "Submit"
#: .\ldt_utils\templates\ldt\ldt_utils\published_projects.html.py:67
-#: .\templates\ldt\ldt_base.html.py:115
+#: .\templates\ldt\ldt_base.html.py:116
msgid "Published projects"
msgstr "Published projects"
@@ -655,11 +678,11 @@
msgid "The search field can not be empty."
msgstr "The search field can not be empty."
-#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:62
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:61
msgid "Results for "
msgstr "Results for"
-#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:76
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:75
#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:16
#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:18
#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:24
@@ -669,11 +692,11 @@
msgid "open ldt"
msgstr "open ldt"
-#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:87
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:86
msgid "Tags"
msgstr "Tags"
-#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:106
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:105
#, python-format
msgid "Page %(number)s of %(num_pages)s"
msgstr "Page %(number)s of %(num_pages)s"
@@ -852,6 +875,11 @@
"Content '%(title)s' is referenced by %(count)d projects: %(project_titles)s. "
"Please delete them beforehand."
+#: .\ldt_utils\views\json.py:34 .\ldt_utils\views\rdf.py:15
+#: .\ldt_utils\views\workspace.py:109
+msgid "You can not access this project"
+msgstr "You can not access this project"
+
#: .\ldt_utils\views\project.py:110
#, python-format
msgid "the project %(title)s is published. please unpublish before deleting."
@@ -883,10 +911,6 @@
msgid "confirm deletion"
msgstr "Confirm deletion"
-#: .\ldt_utils\views\rdf.py:15 .\ldt_utils\views\workspace.py:109
-msgid "You can not access this project"
-msgstr "You can not access this project"
-
#: .\templates\admin\cms_change_form.html.py:30
msgid "Approve page deletion"
msgstr "Approve page deletion"
@@ -1080,14 +1104,6 @@
msgid "Forget password?"
msgstr "Forget password?"
-#: .\templates\admin\page_login.html.py:32
-#: .\user\templates\ldt\user\login_form.html.py:37
-#: .\user\templates\ldt\user\login_form.html.py:45
-#: .\user\templates\registration\login.html.py:21
-#: .\user\templates\registration\password_reset_complete.html.py:14
-msgid "Log in"
-msgstr "Log in"
-
#: .\templates\cms\admin\cms\page\change_form.html.py:11
msgid "Documentation"
msgstr "Documentation"
@@ -1096,12 +1112,6 @@
msgid "Change password"
msgstr "Change password"
-#: .\templates\cms\admin\cms\page\change_form.html.py:11
-#: .\templates\ldt\ldt_base.html.py:96
-#: .\user\templates\ldt\user\login_form.html.py:34
-msgid "Log out"
-msgstr "Log out"
-
#: .\templates\cms\admin\cms\page\change_form.html.py:42
msgid "Ordering"
msgstr "Ordering"
@@ -1123,19 +1133,23 @@
msgstr "admin"
#: .\templates\ldt\ldt_base.html.py:93
+msgid "front link"
+msgstr "front"
+
+#: .\templates\ldt\ldt_base.html.py:94
#: .\user\templates\ldt\user\change_profile.html.py:95
msgid "Profile change"
msgstr "Profile change"
-#: .\templates\ldt\ldt_base.html.py:113 .\templates\ldt\ldt_base.html.py:114
+#: .\templates\ldt\ldt_base.html.py:114 .\templates\ldt\ldt_base.html.py:115
msgid "home"
msgstr "home"
-#: .\templates\ldt\ldt_base.html.py:148
+#: .\templates\ldt\ldt_base.html.py:149
msgid "Version number"
msgstr "Version number"
-#: .\templates\ldt\ldt_base.html.py:148
+#: .\templates\ldt\ldt_base.html.py:149
#, python-format
msgid " web %(WEB_VERSION)s | platform %(VERSION)s"
msgstr "web v%(WEB_VERSION)s | platform v%(VERSION)s"
@@ -1530,3 +1544,9 @@
msgstr ""
"We've e-mailed you instructions for activate your account to the e-mail "
"address you submitted. You should be receiving it shortly."
+
+#~ msgid "back link"
+#~ msgstr "platform"
+
+#~ msgid "connection"
+#~ msgstr "Login"
Binary file src/ldt/ldt/locale/fr/LC_MESSAGES/django.mo has changed
--- a/src/ldt/ldt/locale/fr/LC_MESSAGES/django.po Thu Feb 02 15:35:19 2012 +0100
+++ b/src/ldt/ldt/locale/fr/LC_MESSAGES/django.po Thu Feb 02 15:35:47 2012 +0100
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-01-20 17:24+0100\n"
+"POT-Creation-Date: 2012-02-02 14:07+0100\n"
"PO-Revision-Date: 2010-03-09 15:52+0100\n"
"Last-Translator: Yves-Marie Haussonne <ymh.work@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -24,7 +24,7 @@
msgid "Time"
msgstr "Heure"
-#: .\ldt_utils\forms.py:32 .\ldt_utils\templates\front\front_base.html.py:33
+#: .\ldt_utils\forms.py:32 .\ldt_utils\templates\front\front_base.html.py:34
#: .\ldt_utils\templates\ldt\ldt_utils\published_projects.html.py:52
msgid "Search"
msgstr "Recherche"
@@ -170,11 +170,11 @@
msgid "content.duration"
msgstr "Durée (ms)"
-#: .\ldt_utils\models.py:134 .\ldt_utils\models.py:530
+#: .\ldt_utils\models.py:134
msgid "content.stat_annotation"
msgstr "statistiques d'annotation"
-#: .\ldt_utils\models.py:135 .\ldt_utils\models.py:531
+#: .\ldt_utils\models.py:135
msgid "content.nb_annotation"
msgstr "nombre d'annotations"
@@ -182,15 +182,15 @@
msgid "content.last_annotated"
msgstr "annoté pour la dernière foiss"
-#: .\ldt_utils\models.py:395
+#: .\ldt_utils\models.py:461
msgid "created by"
msgstr "créé par"
-#: .\ldt_utils\models.py:396
+#: .\ldt_utils\models.py:462
msgid "changed by"
msgstr "modifié par"
-#: .\ldt_utils\utils.py:208
+#: .\ldt_utils\utils.py:208 .\ldt_utils\utils.py:391
msgid "Personal cutting"
msgstr "Découpages personnels"
@@ -203,77 +203,98 @@
msgid "Home"
msgstr "Accueil"
-#: .\ldt_utils\templates\front\front_all_contents.html.py:66
-#: .\ldt_utils\templates\front\front_home.html.py:17
+#: .\ldt_utils\templates\front\front_all_contents.html.py:9
+#, python-format
+msgid "Lignes de temps : %(tag_label)s"
+msgstr "Lignes de temps : %(tag_label)s"
+
+#: .\ldt_utils\templates\front\front_all_contents.html.py:11
+msgid "Lignes de temps : all medias"
+msgstr "Lignes de temps : tous les médias"
+
+#: .\ldt_utils\templates\front\front_all_contents.html.py:32
+#: .\ldt_utils\templates\front\front_home.html.py:24
msgid "Filter the medias"
msgstr "Filtrer les médias"
-#: .\ldt_utils\templates\front\front_all_contents.html.py:69
-#: .\ldt_utils\templates\front\front_all_contents.html.py:70
-#: .\ldt_utils\templates\front\front_home.html.py:23
-#: .\ldt_utils\templates\front\front_home.html.py:43
+#: .\ldt_utils\templates\front\front_all_contents.html.py:35
+#: .\ldt_utils\templates\front\front_all_contents.html.py:36
+#: .\ldt_utils\templates\front\front_home.html.py:30
+#: .\ldt_utils\templates\front\front_home.html.py:61
msgid "All medias"
msgstr "Tous les médias"
-#: .\ldt_utils\templates\front\front_all_contents.html.py:74
+#: .\ldt_utils\templates\front\front_all_contents.html.py:42
#: .\ldt_utils\templates\front\front_group.html.py:22
#: .\ldt_utils\templates\front\front_group.html.py:24
-#: .\ldt_utils\templates\front\front_home.html.py:29
-#: .\ldt_utils\templates\front\front_home.html.py:31
+#: .\ldt_utils\templates\front\front_home.html.py:38
#: .\ldt_utils\templates\front\front_home.html.py:49
-#: .\ldt_utils\templates\front\front_home.html.py:51
+#: .\ldt_utils\templates\front\front_home.html.py:69
+#: .\ldt_utils\templates\front\front_home.html.py:78
msgid "open this media"
msgstr "voir ce média"
-#: .\ldt_utils\templates\front\front_all_contents.html.py:76
+#: .\ldt_utils\templates\front\front_all_contents.html.py:54
#: .\ldt_utils\templates\front\front_group.html.py:23
-#: .\ldt_utils\templates\front\front_home.html.py:30
-#: .\ldt_utils\templates\front\front_home.html.py:50
+#: .\ldt_utils\templates\front\front_home.html.py:48
+#: .\ldt_utils\templates\front\front_home.html.py:77
#, python-format
msgid "%(nb)s annotation on this media"
msgid_plural "%(nb)s annotations on this media"
msgstr[0] "%(nb)s annotation sur ce média"
msgstr[1] "%(nb)s annotations sur ce média"
-#: .\ldt_utils\templates\front\front_all_contents.html.py:78
+#: .\ldt_utils\templates\front\front_all_contents.html.py:56
#: .\ldt_utils\templates\front\front_group.html.py:25
-#: .\ldt_utils\templates\front\front_home.html.py:32
-#: .\ldt_utils\templates\front\front_home.html.py:52
+#: .\ldt_utils\templates\front\front_home.html.py:50
+#: .\ldt_utils\templates\front\front_home.html.py:79
msgid "by"
msgstr "par"
-#: .\ldt_utils\templates\front\front_all_contents.html.py:82
+#: .\ldt_utils\templates\front\front_all_contents.html.py:60
msgid "All tags"
msgstr "Tous les tags"
-#: .\ldt_utils\templates\front\front_base.html.py:25
+#: .\ldt_utils\templates\front\front_base.html.py:26
msgid "homepage"
msgstr "Accueil"
-#: .\ldt_utils\templates\front\front_base.html.py:25
+#: .\ldt_utils\templates\front\front_base.html.py:26
msgid "<b>Lignes</b> de temps"
msgstr "<b>Lignes</b> de temps"
-#: .\ldt_utils\templates\front\front_base.html.py:38
-#: .\ldt_utils\templates\front\front_base.html.py:56
+#: .\ldt_utils\templates\front\front_base.html.py:39
+#: .\ldt_utils\templates\front\front_base.html.py:61
msgid "link IRI"
msgstr "Site de l'IRI"
-#: .\ldt_utils\templates\front\front_base.html.py:41
+#: .\ldt_utils\templates\front\front_base.html.py:42
#: .\ldt_utils\templates\front\front_player.html.py:5
msgid "Annotate"
msgstr "Annoter"
-#: .\ldt_utils\templates\front\front_base.html.py:45
-msgid "connection"
-msgstr "connexion"
+#: .\ldt_utils\templates\front\front_base.html.py:47
+#: .\templates\cms\admin\cms\page\change_form.html.py:11
+#: .\templates\ldt\ldt_base.html.py:97
+#: .\user\templates\ldt\user\login_form.html.py:34
+msgid "Log out"
+msgstr "Déconnexion"
-#: .\ldt_utils\templates\front\front_base.html.py:53
+#: .\ldt_utils\templates\front\front_base.html.py:49
+#: .\templates\admin\page_login.html.py:32
+#: .\user\templates\ldt\user\login_form.html.py:37
+#: .\user\templates\ldt\user\login_form.html.py:45
+#: .\user\templates\registration\login.html.py:21
+#: .\user\templates\registration\password_reset_complete.html.py:14
+msgid "Log in"
+msgstr "Connexion"
+
+#: .\ldt_utils\templates\front\front_base.html.py:58
#, python-format
msgid "%(WEB_VERSION)s | %(VERSION)s"
msgstr "v%(WEB_VERSION)s | v%(VERSION)s "
-#: .\ldt_utils\templates\front\front_base.html.py:56
+#: .\ldt_utils\templates\front\front_base.html.py:61
msgid "about"
msgstr "A propos"
@@ -297,33 +318,33 @@
msgid "front.home"
msgstr "Plateforme ligne de temps"
-#: .\ldt_utils\templates\front\front_home.html.py:21
+#: .\ldt_utils\templates\front\front_home.html.py:28
msgid "Last annotated medias"
msgstr "Derniers médias annotés"
-#: .\ldt_utils\templates\front\front_home.html.py:23
-#: .\ldt_utils\templates\front\front_home.html.py:43
+#: .\ldt_utils\templates\front\front_home.html.py:30
+#: .\ldt_utils\templates\front\front_home.html.py:61
msgid "view all medias"
msgstr "Voir tous les médias"
-#: .\ldt_utils\templates\front\front_home.html.py:41
+#: .\ldt_utils\templates\front\front_home.html.py:59
msgid "Most annotated medias"
msgstr "Médias les plus annotés"
-#: .\ldt_utils\templates\front\front_home.html.py:59
+#: .\ldt_utils\templates\front\front_home.html.py:86
msgid "Active groups"
msgstr "Groupes actifs"
-#: .\ldt_utils\templates\front\front_home.html.py:64
+#: .\ldt_utils\templates\front\front_home.html.py:91
msgid "group picture"
msgstr "image du groupe"
-#: .\ldt_utils\templates\front\front_home.html.py:64
-#: .\ldt_utils\templates\front\front_home.html.py:68
+#: .\ldt_utils\templates\front\front_home.html.py:91
+#: .\ldt_utils\templates\front\front_home.html.py:95
msgid "view more infos on this group"
msgstr "Voir plus d'informations sur ce groupe"
-#: .\ldt_utils\templates\front\front_home.html.py:67
+#: .\ldt_utils\templates\front\front_home.html.py:94
#, python-format
msgid "%(nb)s user in this group"
msgid_plural "%(nb)s users in this group"
@@ -342,53 +363,55 @@
#: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:56
#: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:68
#: .\ldt_utils\templates\ldt\ldt_utils\partial\permissions.html.py:121
-#: .\templates\ldt\ldt_base.html.py:126
+#: .\templates\ldt\ldt_base.html.py:127
msgid "search"
msgstr "Recherche"
-#: .\ldt_utils\templates\front\front_search_results.html.py:99
-#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:59
+#: .\ldt_utils\templates\front\front_search_results.html.py:50
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:58
#, python-format
msgid " No results for <b>%(search)s</b>."
msgstr "Aucun résultat pour <b>%(search)s</b>."
-#: .\ldt_utils\templates\front\front_search_results.html.py:111
+#: .\ldt_utils\templates\front\front_search_results.html.py:62
msgid "Search results for "
msgstr "Résultats de recherche pour "
-#: .\ldt_utils\templates\front\front_search_results.html.py:114
-#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:62
+#: .\ldt_utils\templates\front\front_search_results.html.py:65
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:61
msgid "Result"
msgstr "Résultat"
-#: .\ldt_utils\templates\front\front_search_results.html.py:133
+#: .\ldt_utils\templates\front\front_search_results.html.py:84
msgid "annotation distribution"
msgstr "Répartition des annotations"
-#: .\ldt_utils\templates\front\front_search_results.html.py:148
+#: .\ldt_utils\templates\front\front_search_results.html.py:98
+#: .\ldt_utils\templates\front\front_search_results.html.py:103
msgid "view this annotation in the player"
msgstr "Visionner cette annotation"
-#: .\ldt_utils\templates\front\front_search_results.html.py:149
-#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:80
+#: .\ldt_utils\templates\front\front_search_results.html.py:99
+#: .\ldt_utils\templates\front\front_search_results.html.py:104
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:79
msgid "No title"
msgstr "Sans titre"
-#: .\ldt_utils\templates\front\front_search_results.html.py:150
+#: .\ldt_utils\templates\front\front_search_results.html.py:100
msgid "Begin"
msgstr "Début"
-#: .\ldt_utils\templates\front\front_search_results.html.py:150
+#: .\ldt_utils\templates\front\front_search_results.html.py:100
msgid "duration"
msgstr "durée"
-#: .\ldt_utils\templates\front\front_search_results.html.py:162
-#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:101
+#: .\ldt_utils\templates\front\front_search_results.html.py:122
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:100
msgid "previous"
msgstr "Précedent"
-#: .\ldt_utils\templates\front\front_search_results.html.py:183
-#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:111
+#: .\ldt_utils\templates\front\front_search_results.html.py:142
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:110
msgid "next"
msgstr "Suivant"
@@ -614,7 +637,7 @@
msgstr "Voulez-vous quitter ce groupe ?"
#: .\ldt_utils\templates\ldt\ldt_utils\groups.html.py:92
-#: .\templates\ldt\ldt_base.html.py:114
+#: .\templates\ldt\ldt_base.html.py:115
msgid "My groups"
msgstr "Groupes"
@@ -643,7 +666,7 @@
msgstr "Chercher"
#: .\ldt_utils\templates\ldt\ldt_utils\published_projects.html.py:67
-#: .\templates\ldt\ldt_base.html.py:115
+#: .\templates\ldt\ldt_base.html.py:116
msgid "Published projects"
msgstr "Projets publiés"
@@ -656,11 +679,11 @@
msgid "The search field can not be empty."
msgstr "Le champ de recherche ne peut pas être vide."
-#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:62
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:61
msgid "Results for "
msgstr "Résultats pour "
-#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:76
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:75
#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:16
#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:18
#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:24
@@ -670,12 +693,12 @@
msgid "open ldt"
msgstr "Ouvrir sous Lignes de Temps"
-#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:87
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:86
#, fuzzy
msgid "Tags"
msgstr "tags"
-#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:106
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:105
#, python-format
msgid "Page %(number)s of %(num_pages)s"
msgstr "Page %(number)s de %(num_pages)s"
@@ -854,6 +877,11 @@
"Le contenu '%(title)s' est référencé par les projets suivants : '%"
"(project_titles)s'.Veuillez les effacer préalablement."
+#: .\ldt_utils\views\json.py:34 .\ldt_utils\views\rdf.py:15
+#: .\ldt_utils\views\workspace.py:109
+msgid "You can not access this project"
+msgstr "vous n'avez pas l'autorisation d'accéder à ce projet"
+
#: .\ldt_utils\views\project.py:110
#, python-format
msgid "the project %(title)s is published. please unpublish before deleting."
@@ -886,10 +914,6 @@
msgid "confirm deletion"
msgstr "Confirmation d'effacement"
-#: .\ldt_utils\views\rdf.py:15 .\ldt_utils\views\workspace.py:109
-msgid "You can not access this project"
-msgstr "vous n'avez pas l'autorisation d'accéder à ce projet"
-
#: .\templates\admin\cms_change_form.html.py:30
msgid "Approve page deletion"
msgstr "Accepter l'effacement de la page"
@@ -1083,14 +1107,6 @@
msgid "Forget password?"
msgstr "Oubliez le mot de passe?"
-#: .\templates\admin\page_login.html.py:32
-#: .\user\templates\ldt\user\login_form.html.py:37
-#: .\user\templates\ldt\user\login_form.html.py:45
-#: .\user\templates\registration\login.html.py:21
-#: .\user\templates\registration\password_reset_complete.html.py:14
-msgid "Log in"
-msgstr "Connexion"
-
#: .\templates\cms\admin\cms\page\change_form.html.py:11
msgid "Documentation"
msgstr "Documentation"
@@ -1099,12 +1115,6 @@
msgid "Change password"
msgstr "Modifier le mot de passe"
-#: .\templates\cms\admin\cms\page\change_form.html.py:11
-#: .\templates\ldt\ldt_base.html.py:96
-#: .\user\templates\ldt\user\login_form.html.py:34
-msgid "Log out"
-msgstr "Déconnexion"
-
#: .\templates\cms\admin\cms\page\change_form.html.py:42
msgid "Ordering"
msgstr "Ordre"
@@ -1126,19 +1136,23 @@
msgstr "admin"
#: .\templates\ldt\ldt_base.html.py:93
+msgid "front link"
+msgstr "front"
+
+#: .\templates\ldt\ldt_base.html.py:94
#: .\user\templates\ldt\user\change_profile.html.py:95
msgid "Profile change"
msgstr "Modification du profil"
-#: .\templates\ldt\ldt_base.html.py:113 .\templates\ldt\ldt_base.html.py:114
+#: .\templates\ldt\ldt_base.html.py:114 .\templates\ldt\ldt_base.html.py:115
msgid "home"
msgstr "accueil"
-#: .\templates\ldt\ldt_base.html.py:148
+#: .\templates\ldt\ldt_base.html.py:149
msgid "Version number"
msgstr "Numéro de version"
-#: .\templates\ldt\ldt_base.html.py:148
+#: .\templates\ldt\ldt_base.html.py:149
#, python-format
msgid " web %(WEB_VERSION)s | platform %(VERSION)s"
msgstr "web v%(WEB_VERSION)s | platform v%(VERSION)s "
@@ -1539,3 +1553,9 @@
msgstr ""
"Nous vous avons envoyé par courriel les instructions pour activer le compte "
"à l'adresse que vous avez indiquée. Vous devriez le recevoir rapidement."
+
+#~ msgid "back link"
+#~ msgstr "plateforme"
+
+#~ msgid "connection"
+#~ msgstr "connexion"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ldt/ldt/management/utils.py Thu Feb 02 15:35:47 2012 +0100
@@ -0,0 +1,32 @@
+# -*- coding: utf-8 -*-
+'''
+Created on Feb 1, 2012
+
+@author: ymh
+'''
+import sys
+import codecs #@UnresolvedImport
+import math
+
+def show_progress(current_line, total_line, label, width, writer=None):
+
+ if writer is None:
+ writer = sys.stdout
+ if sys.stdout.encoding is not None:
+ writer = codecs.getwriter(sys.stdout.encoding)(sys.stdout)
+
+ percent = (float(current_line) / float(total_line)) * 100.0
+
+ marks = math.floor(width * (percent / 100.0)) #@UndefinedVariable
+ spaces = math.floor(width - marks) #@UndefinedVariable
+
+ loader = u'[' + (u'=' * int(marks)) + (u' ' * int(spaces)) + u']'
+
+ s = u"%s %3d%% %*d/%d - %*s\r" % (loader, percent, len(str(total_line)), current_line, total_line, width, label[:width])
+
+ writer.write(s) #takes the header into account
+ if percent >= 100:
+ writer.write("\n")
+ writer.flush()
+
+ return writer
--- a/src/ldt/ldt/security/__init__.py Thu Feb 02 15:35:19 2012 +0100
+++ b/src/ldt/ldt/security/__init__.py Thu Feb 02 15:35:47 2012 +0100
@@ -47,13 +47,13 @@
cls_list = get_models_to_protect()
if cls_list:
for cls in get_models_to_protect():
- protect_model(cls)
+ protect_model(cls)
_models_are_protected = True
def unprotect_models():
for cls in get_models_to_protect():
- unprotect_model(cls)
+ unprotect_model(cls)
_models_are_protected = False
@@ -75,7 +75,8 @@
cls.unsafe_delete = cls.delete
class_name = cls.__name__.lower()
cls.save = change_security(class_name)(cls.save)
- cls.delete = change_security(class_name)(cls.delete)
+ cls.delete = change_security(class_name)(cls.delete)
+ cls.safe_objects.check_perm = True
def unprotect_model(cls):
if hasattr(cls, 'unsafe_save'):
@@ -83,7 +84,6 @@
cls.delete = cls.unsafe_delete
del cls.unsafe_save
del cls.unsafe_delete
- cls.safe_objects.user = None
cls.safe_objects.check_perm = False
def change_security(cls_name):
--- a/src/ldt/ldt/security/command.py Thu Feb 02 15:35:19 2012 +0100
+++ b/src/ldt/ldt/security/command.py Thu Feb 02 15:35:47 2012 +0100
@@ -44,11 +44,7 @@
if user.has_perm('view_content', content):
assign('ldt_utils.view_media', user, content.media_obj)
- if verbose:
- print "Set content permissions..."
- for c in list_model['Content'].objects.all():
- c.is_public = True
-
+
for admin in list_model['User'].objects.filter(is_superuser=True):
for g in list_model['Group'].objects.all():
g.user_set.add(admin)
\ No newline at end of file
--- a/src/ldt/ldt/security/manager.py Thu Feb 02 15:35:19 2012 +0100
+++ b/src/ldt/ldt/security/manager.py Thu Feb 02 15:35:47 2012 +0100
@@ -5,9 +5,8 @@
class SafeManager(Manager):
use_for_related_fields = True
- def __init__(self, user=None, check_perm=False):
+ def __init__(self, check_perm=False):
super(SafeManager, self).__init__()
- self.user = user
self.check_perm = check_perm
def get_query_set(self):
@@ -15,17 +14,16 @@
if not self.check_perm:
return super(SafeManager, self).get_query_set()
- if not self.user:
- self.user = get_current_user()
+ user = get_current_user()
- if not self.user:
+ if not user:
raise AttributeError("No user is attached to the current thread.")
- if not self.user.is_authenticated():
- self.user = get_anonymous_user()
+ if not user.is_authenticated():
+ user = get_anonymous_user()
perm_name = '%s.view_%s' % (self.model._meta.app_label, self.model.__name__.lower())
- user_objects = get_objects_for_user(self.user, perm_name, klass=self.model.objects)
+ user_objects = get_objects_for_user(user, perm_name, klass=self.model.objects)
return user_objects
\ No newline at end of file
--- a/src/ldt/ldt/security/utils.py Thu Feb 02 15:35:19 2012 +0100
+++ b/src/ldt/ldt/security/utils.py Thu Feb 02 15:35:47 2012 +0100
@@ -27,23 +27,19 @@
cls = cls.model_class()
for elem in xml.xpath('/iri/medias/media'):
- if not user.is_authenticated():
+ content = cls.safe_objects.filter(iri_id=elem.get('id'))
+ if not content:
elem.set('video', settings.FORBIDDEN_STREAM_URL)
- else:
- content = cls.safe_objects.filter(iri_id=elem.get('id'))
- if not content:
- elem.set('video', settings.FORBIDDEN_STREAM_URL)
return xml
def use_forbidden_url(content):
- user = get_current_user()
+ cls = ContentType.objects.get(model='content')
+ cls = cls.model_class()
- if not user.is_authenticated():
- return True
- elif "Content" in settings.USE_GROUP_PERMISSIONS and user.has_perm('ldt_utils.view_content', content):
+ new_content = cls.safe_objects.filter(iri_id=content.iri_id)
+ if new_content:
return False
-
return True
def add_change_attr(user, obj_list):
--- a/src/ldt/ldt/templates/ldt/ldt_base.html Thu Feb 02 15:35:19 2012 +0100
+++ b/src/ldt/ldt/templates/ldt/ldt_base.html Thu Feb 02 15:35:47 2012 +0100
@@ -90,6 +90,7 @@
<a href="{% url admin:index %}" title="{% trans "Link to admin" %}">{% trans "Staff" %}</a>|
{% endif %}
{% if user.is_authenticated %}
+ <a href="{% url front_home %}" title="{% trans "front link" %}">{% trans "front link" %}</a> |
<a href="{% url ldt.user.views.profile %}" title="{% trans "Profile change" %}">
{% thumbnail user.get_profile.image "20x20" crop="center" format="PNG" as im %}<img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}" />{% empty %} {% endthumbnail %}
{{user.username}}</a>
--- a/virtualenv/res/lib/lib_create_env.py Thu Feb 02 15:35:19 2012 +0100
+++ b/virtualenv/res/lib/lib_create_env.py Thu Feb 02 15:35:47 2012 +0100
@@ -31,6 +31,9 @@
'SOCIAL_AUTH': {'setup':'social_auth', 'url':'https://github.com/omab/django-social-auth/tarball/v0.3.10', 'local':"omab-django-social-auth-v0.3.10-modified.tar.gz"},
'SOUTH': { 'setup': 'South', 'url':'http://www.aeracode.org/releases/south/south-0.7.3.tar.gz', 'local':"south-0.7.3.tar.gz"},
'DJANGO_GUARDIAN' : { 'setup': 'django-guardian', 'url':'http://pypi.python.org/packages/source/d/django-guardian/django-guardian-1.0.3.tar.gz', 'local':"django-guardian-1.0.3.tar.gz"},
+ 'SORL_THUMBNAIL' : { 'setup': 'sorl-thumbnail', 'url':'http://pypi.python.org/packages/source/s/sorl-thumbnail/sorl-thumbnail-11.12.tar.gz', 'local':"sorl-thumbnail-v10.12.1.tar.gz"},
+ 'LIBJPEG': {'setup': None, 'url':'jpegsrc.v8d.tar.gz', 'local':'jpegsrc.v8d.tar.gz'},
+ 'ZLIB': {'setup': None, 'url':'zlib-1.2.6.tar.gz', 'local':'zlib-1.2.6.tar.gz'},
}
if system_str == 'Windows':
@@ -207,7 +210,102 @@
shutil.copytree(os.path.join(psycopg2_src_path, 'psycopg2'), os.path.abspath(os.path.join(home_dir, 'Lib/site-packages', 'psycopg2')))
shutil.copy(os.path.join(psycopg2_src_path, 'psycopg2-2.0.14-py2.6.egg-info'), os.path.abspath(os.path.join(home_dir, 'Lib/site-packages', 'site-packages')))
+def gen_install_comp_lib(lib_name, lib_key, configure_options=[]):
+
+ def install_lib(option_str, extra_env, res_source_key, home_dir, lib_dir, tmp_dir, src_dir, res_env, logger, call_subprocess, filter_python_develop):
+ lib_src = os.path.join(src_dir,lib_name+".tar.gz")
+ shutil.copy(res_env.URLS[lib_key][res_source_key], lib_src)
+ tf = tarfile.open(lib_src,'r:gz')
+ lib_base_path = os.path.join(src_dir, lib_name)
+ logger.notify("Extract %s to %s " % (lib_name,lib_base_path))
+ tf.extractall(lib_base_path)
+ tf.close()
+
+ lib_src_path = os.path.join(lib_base_path, os.listdir(lib_base_path)[0])
+
+ logger.notify("libjpeg configure")
+ call_subprocess(['configure', '--prefix='+os.path.abspath(home_dir)] + configure_options,
+ cwd=os.path.abspath(lib_src_path),
+ filter_stdout=filter_python_develop,
+ show_stdout=True)
+
+ logger.notify("libjpeg make")
+ call_subprocess(['make'],
+ cwd=os.path.abspath(lib_src_path),
+ filter_stdout=filter_python_develop,
+ show_stdout=True)
+
+ logger.notify("zlib make install")
+ call_subprocess(['make', 'install'],
+ cwd=os.path.abspath(lib_src_path),
+ filter_stdout=filter_python_develop,
+ show_stdout=True)
+ return install_lib
+install_libjpeg = gen_install_comp_lib("libjpeg", "LIBJPEG", ['--enable-shared'])
+install_zlib = gen_install_comp_lib("zlib", "ZLIB", [])
+
+#def install_libjpeg(option_str, extra_env, res_source_key, home_dir, lib_dir, tmp_dir, src_dir, res_env, logger, call_subprocess, filter_python_develop):
+# libjpeg_src = os.path.join(src_dir,"jpegsrc.tar.gz")
+# shutil.copy(res_env.URLS['LIBJPEG'][res_source_key], libjpeg_src)
+# tf = tarfile.open(pylucene_src,'r:gz')
+# libjpeg_base_path = os.path.join(src_dir,"libjpeg")
+# logger.notify("Extract libjpeg to %s " % libjpeg_base_path)
+# tf.extractall(libjpeg_base_path)
+# tf.close()
+#
+# libjpeg_src_path = os.path.join(libjpeg_base_path, os.listdir(libjpeg_base_path)[0])
+#
+# logger.notify("libjpeg configure")
+# call_subprocess(['configure', '--enable-shared', '--prefix='+os.path.abspath(home_dir)],
+# cwd=os.path.abspath(libjpeg_src_path),
+# filter_stdout=filter_python_develop,
+# show_stdout=True)
+#
+# logger.notify("libjpeg make")
+# call_subprocess(['make'],
+# cwd=os.path.abspath(libjpeg_src_path),
+# filter_stdout=filter_python_develop,
+# show_stdout=True)
+#
+# logger.notify("zlib make install")
+# call_subprocess(['make', 'install'],
+# cwd=os.path.abspath(libjpeg_src_path),
+# filter_stdout=filter_python_develop,
+# show_stdout=True)
+#
+#
+#def install_zlib(option_str, extra_env, res_source_key, home_dir, lib_dir, tmp_dir, src_dir, res_env, logger, call_subprocess, filter_python_develop):
+# zlib_src = os.path.join(src_dir,"zlib.tar.gz")
+# shutil.copy(res_env.URLS['ZLIB'][res_source_key], libjpeg_src)
+# tf = tarfile.open(pylucene_src,'r:gz')
+# zlib_base_path = os.path.join(src_dir,"zlib")
+# logger.notify("Extract libjpeg to %s " % zlib_base_path)
+# tf.extractall(zlib_base_path)
+# tf.close()
+#
+# zlib_src_path = os.path.join(zlib_base_path, os.listdir(zlib_base_path)[0])
+#
+# logger.notify("zlib configure")
+# call_subprocess(['configure', '--enable-shared', '--prefix='+os.path.abspath(home_dir)],
+# cwd=os.path.abspath(zlib_src_path),
+# filter_stdout=filter_python_develop,
+# show_stdout=True)
+#
+# logger.notify("zlib make")
+# call_subprocess(['make'],
+# cwd=os.path.abspath(zlib_src_path),
+# filter_stdout=filter_python_develop,
+# show_stdout=True)
+#
+# logger.notify("zlib make install")
+# call_subprocess(['make', 'install'],
+# cwd=os.path.abspath(zlib_src_path),
+# filter_stdout=filter_python_develop,
+# show_stdout=True)
+
+
+
def lib_generate_install_methods(path_locations, src_base, Logger, call_subprocess, normal_installs, urls=None):
Binary file virtualenv/res/src/jpegsrc.v8d.tar.gz has changed
Binary file virtualenv/res/src/sorl-sorl-thumbnail-v10.12.1-65-g2285451.tar.gz has changed
Binary file virtualenv/res/src/sorl-thumbnail-v10.12.1.tar.gz has changed
Binary file virtualenv/res/src/zlib-1.2.6.tar.gz has changed
--- a/virtualenv/web/res/res_create_env.py Thu Feb 02 15:35:19 2012 +0100
+++ b/virtualenv/web/res/res_create_env.py Thu Feb 02 15:35:47 2012 +0100
@@ -38,6 +38,7 @@
('DJANGO_OPENID_CONSUMER', 'pip', None, None),
('SOCIAL_AUTH', 'easy_install', None, None),
('DJANGO_GUARDIAN', 'pip', None, None),
+ ('SOLR_THUMBNAIL', 'pip', None, None),
])
if system_str == "Darwin":
--- a/web/ldtplatform/config.py.tmpl Thu Feb 02 15:35:19 2012 +0100
+++ b/web/ldtplatform/config.py.tmpl Thu Feb 02 15:35:47 2012 +0100
@@ -90,15 +90,14 @@
AUTO_INDEX_AFTER_SAVE = True
-USE_GROUP_PERMISSIONS = ['Project', 'Content', 'Media']
FORBIDDEN_STREAM_URL = "rtmp://media.iri.centrepompidou.fr/ddc_player/mp4:video/forbidden_stream.mp4?old_path="
-PUBLIC_GROUP_NAME = 'everyone'
-MAX_USERS_SEARCH = 20
-
-DEFAULT_CONTENT_ICON = "thumbnails/contents/content_default_icon.png"
-DEFAULT_PROJECT_ICON = "thumbnails/projects/project_default_icon.png"
-DEFAULT_USER_ICON = "thumbnails/users/user_default_icon.png"
-DEFAULT_GROUP_ICON = "thumbnails/groups/group_default_icon.png"
-PROFILE_IMG_MAX_SIZE = 1000000
FRONT_TAG_LIST = [u"Enmi 2011", u"film", u"conférence"]
+
+SYNTAX = {
+ '++' : 'OK',
+ '--' : 'KO',
+ '==' : 'REF',
+ '??' : 'Q'
+ }
+
--- a/web/ldtplatform/settings.py Thu Feb 02 15:35:19 2012 +0100
+++ b/web/ldtplatform/settings.py Thu Feb 02 15:35:47 2012 +0100
@@ -216,7 +216,19 @@
DIVISIONS_FOR_STAT_ANNOTATION = 64
-FRONT_TAG_LIST = [u"Enmi 2011",u"film"]
+FRONT_TAG_LIST = []
+
+DEFAULT_CONTENT_ICON = "thumbnails/contents/content_default_icon.png"
+DEFAULT_PROJECT_ICON = "thumbnails/projects/project_default_icon.png"
+DEFAULT_USER_ICON = "thumbnails/users/user_default_icon.png"
+DEFAULT_GROUP_ICON = "thumbnails/groups/group_default_icon.png"
+PROFILE_IMG_MAX_SIZE = 1000000
+
+USE_GROUP_PERMISSIONS = ['Project', 'Content', 'Media']
+FORBIDDEN_STREAM_URL = "rtmp://media.iri.centrepompidou.fr/ddc_player/mp4:video/forbidden_stream.mp4?old_path="
+PUBLIC_GROUP_NAME = 'everyone'
+MAX_USERS_SEARCH = 20
+
from config import *