# HG changeset patch # User ymh # Date 1296279974 -3600 # Node ID 97ab7b3191cfeb947199c3ec9e83c23cb0c33887 # Parent b1390453f87a7d891b8d6d267db01ecb3154c286 add api to update project, uses psiton diff -r b1390453f87a -r 97ab7b3191cf .project --- a/.project Fri Jan 28 21:33:43 2011 +0100 +++ b/.project Sat Jan 29 06:46:14 2011 +0100 @@ -13,5 +13,6 @@ org.python.pydev.pythonNature + org.python.pydev.django.djangoNature diff -r b1390453f87a -r 97ab7b3191cf .pydevproject --- a/.pydevproject Fri Jan 28 21:33:43 2011 +0100 +++ b/.pydevproject Sat Jan 29 06:46:14 2011 +0100 @@ -2,6 +2,10 @@ -Default +python_platform python 2.6 + +/platform/src/ldt +/platform/web + diff -r b1390453f87a -r 97ab7b3191cf .settings/org.eclipse.ltk.core.refactoring.prefs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.settings/org.eclipse.ltk.core.refactoring.prefs Sat Jan 29 06:46:14 2011 +0100 @@ -0,0 +1,3 @@ +#Fri Jan 28 23:09:33 CET 2011 +eclipse.preferences.version=1 +org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/admin.py --- a/src/ldt/ldt/admin.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/admin.py Sat Jan 29 06:46:14 2011 +0100 @@ -1,30 +1,31 @@ -from django.contrib import admin +#from django.contrib import admin from ldt.management import test_cms """ site admin pour cms page """ if test_cms(): - class AdminSite(admin.AdminSite): - index_template = 'admin/page_index.html' - login_template = 'admin/page_login.html' - app_index_template = 'admin/page_app_index.html' + pass +# class AdminSite(admin.AdminSite): +# index_template = 'admin/page_index.html' +# login_template = 'admin/page_login.html' +# app_index_template = 'admin/page_app_index.html' - admin_site = AdminSite() +# admin_site = AdminSite() - from cms.models import Page - from cms.admin import pageadmin +# from cms.models import Page +# from cms.admin import pageadmin - class CmsPageAdmin(pageadmin.PageAdmin): - change_list_template = "admin/cms_change_list.html" - change_form_template = "admin/cms_change_form.html" +# class CmsPageAdmin(pageadmin.PageAdmin): +# change_list_template = "admin/cms_change_list.html" +# change_form_template = "admin/cms_change_form.html" - admin_site.register(Page, CmsPageAdmin) +# admin_site.register(Page, CmsPageAdmin) - from cms.plugins.snippet.models import Snippet - from cms.plugins.snippet.admin import SnippetAdmin +# from cms.plugins.snippet.models import Snippet +# from cms.plugins.snippet.admin import SnippetAdmin - class CmsSnippetAdmin(SnippetAdmin): - change_form_template = "admin/page_change_form.html" - change_list_template = "admin/page_change_list.html" - admin_site.register(Snippet, CmsSnippetAdmin) \ No newline at end of file +# class CmsSnippetAdmin(SnippetAdmin): +# change_form_template = "admin/page_change_form.html" +# change_list_template = "admin/page_change_list.html" +# admin_site.register(Snippet, CmsSnippetAdmin) diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/api/__init__.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/ldt/ldt/api/__init__.py Sat Jan 29 06:46:14 2011 +0100 @@ -0,0 +1,1 @@ + diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/api/ldt/__init__.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/ldt/ldt/api/ldt/__init__.py Sat Jan 29 06:46:14 2011 +0100 @@ -0,0 +1,1 @@ + diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/api/ldt/handlers.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/ldt/ldt/api/ldt/handlers.py Sat Jan 29 06:46:14 2011 +0100 @@ -0,0 +1,36 @@ +from ldt.ldt_utils.models import Project +from piston.handler import BaseHandler +from piston.utils import rc, require_extended +import logging #@UnresolvedImport + +class ProjectHandler(BaseHandler): + allowed_methods = ('GET','PUT',) + model = Project + + def read(self, request, project_id): + """ + returns a single project + """ + return Project.objects.get(ldt_id=project_id) + + @require_extended + def update(self, request, project_id): + """ + update a project. + """ + logging.debug("request " + repr(request)) + data = request.data + ldt_str = data["ldt"] + + logging.debug("request data" + repr(ldt_str)) + + if not ldt_str: + return rc.ALL_OK + + project = Project.objects.get(ldt_id=project_id) + + project.ldt = ldt_str + + project.save() + + return rc.ALL_OK diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/api/ldt/urls.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/ldt/ldt/api/ldt/urls.py Sat Jan 29 06:46:14 2011 +0100 @@ -0,0 +1,9 @@ +from django.conf.urls.defaults import patterns, url +from piston.resource import Resource +from ldt.api.ldt.handlers import ProjectHandler + +project_handler = Resource(ProjectHandler, None) + +urlpatterns = patterns('', + url(r'projects/(?P[^/.]+)\.?(?P.*)$', project_handler), +) diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/api/urls.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/ldt/ldt/api/urls.py Sat Jan 29 06:46:14 2011 +0100 @@ -0,0 +1,6 @@ +from django.conf.urls.defaults import patterns, include + +urlpatterns = patterns('', + # all my other url mappings + (r'^ldt/', include('ldt.api.ldt.urls')), +) diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/auth/__init__.py --- a/src/ldt/ldt/auth/__init__.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/auth/__init__.py Sat Jan 29 06:46:14 2011 +0100 @@ -4,4 +4,4 @@ if check_meth: return check_meth(user) else: - return user.is_staff \ No newline at end of file + return user.is_staff diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/core/__init__.py --- a/src/ldt/ldt/core/__init__.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/core/__init__.py Sat Jan 29 06:46:14 2011 +0100 @@ -0,0 +1,1 @@ + diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/core/handlers/__init__.py --- a/src/ldt/ldt/core/handlers/__init__.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/core/handlers/__init__.py Sat Jan 29 06:46:14 2011 +0100 @@ -0,0 +1,1 @@ + diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/core/handlers/modpython.py --- a/src/ldt/ldt/core/handlers/modpython.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/core/handlers/modpython.py Sat Jan 29 06:46:14 2011 +0100 @@ -5,4 +5,4 @@ import django.core.handlers.modpython - return django.core.handlers.modpython.handler(req) \ No newline at end of file + return django.core.handlers.modpython.handler(req) diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/core/handlers/modwsgi.py --- a/src/ldt/ldt/core/handlers/modwsgi.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/core/handlers/modwsgi.py Sat Jan 29 06:46:14 2011 +0100 @@ -6,7 +6,7 @@ prev_sys_path = list(sys.path) sys.path.append(environ['PROJECT_PATH']) - for path in environ.get('PYTHON_PATH',"").split(os.pathsep): + for path in environ.get('PYTHON_PATH', "").split(os.pathsep): if path: site.addsitedir(path) @@ -21,4 +21,4 @@ _application = django.core.handlers.wsgi.WSGIHandler() - return _application(environ, start_response) \ No newline at end of file + return _application(environ, start_response) diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/core/models.py --- a/src/ldt/ldt/core/models.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/core/models.py Sat Jan 29 06:46:14 2011 +0100 @@ -3,8 +3,8 @@ class Owner(models.Model): - user = models.ForeignKey(User, blank=True, null=True) - group = models.ForeignKey(Group, blank=True, null=True) + user = models.ForeignKey(User, blank=True, null=True) + group = models.ForeignKey(Group, blank=True, null=True) def __unicode__(self): if self.user: @@ -14,7 +14,7 @@ class Document(models.Model): - owner= models.ForeignKey(Owner, blank = True, null=True) + owner = models.ForeignKey(Owner, blank=True, null=True) class Meta: abstract = True diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/forms/__init__.py --- a/src/ldt/ldt/forms/__init__.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/forms/__init__.py Sat Jan 29 06:46:14 2011 +0100 @@ -0,0 +1,1 @@ + diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/forms/widgets.py --- a/src/ldt/ldt/forms/widgets.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/forms/widgets.py Sat Jan 29 06:46:14 2011 +0100 @@ -14,4 +14,4 @@ def format_output(self, rendered_widgets): return mark_safe(u'
%s
%s
%s
%s
' % \ - (_('Date'), rendered_widgets[0], _('Time'), rendered_widgets[1])) + (_('Date'), rendered_widgets[0], _('Time'), rendered_widgets[1])) diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/ldt_utils/__init__.py --- a/src/ldt/ldt/ldt_utils/__init__.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/__init__.py Sat Jan 29 06:46:14 2011 +0100 @@ -5,11 +5,11 @@ STORE = lucene.SimpleFSDirectory(lucene.File(settings.INDEX_PATH)) ANALYZER = lucene.PerFieldAnalyzerWrapper(lucene.StandardAnalyzer(lucene.Version.LUCENE_CURRENT)) -ANALYZER.addAnalyzer("tags",lucene.FrenchAnalyzer(lucene.Version.LUCENE_CURRENT)) -ANALYZER.addAnalyzer("title",lucene.FrenchAnalyzer(lucene.Version.LUCENE_CURRENT)) -ANALYZER.addAnalyzer("abstract",lucene.FrenchAnalyzer(lucene.Version.LUCENE_CURRENT)) -ANALYZER.addAnalyzer("all",lucene.FrenchAnalyzer(lucene.Version.LUCENE_CURRENT)) +ANALYZER.addAnalyzer("tags", lucene.FrenchAnalyzer(lucene.Version.LUCENE_CURRENT)) +ANALYZER.addAnalyzer("title", lucene.FrenchAnalyzer(lucene.Version.LUCENE_CURRENT)) +ANALYZER.addAnalyzer("abstract", lucene.FrenchAnalyzer(lucene.Version.LUCENE_CURRENT)) +ANALYZER.addAnalyzer("all", lucene.FrenchAnalyzer(lucene.Version.LUCENE_CURRENT)) -VERSION = (0,1) +VERSION = (0, 1) VERSION_STR = unicode(".".join(map(lambda i:"%02d" % (i,), VERSION))) diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/ldt_utils/admin.py --- a/src/ldt/ldt/ldt_utils/admin.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/admin.py Sat Jan 29 06:46:14 2011 +0100 @@ -16,10 +16,10 @@ class ContentAdmin(admin.ModelAdmin): def import_file(self, request): - if request.method =='POST': + if request.method == 'POST': form = LdtImportForm(request.POST, request.FILES) if form.is_valid(): - filetoprocess =form.cleaned_data['importFile'] + filetoprocess = form.cleaned_data['importFile'] flatten = form.cleaned_data['flatten'] videoPath = form.cleaned_data['videoPath'] # fi = None @@ -51,7 +51,7 @@ # try: writer = lucene.IndexWriter(STORE, ANALYZER, True, lucene.IndexWriter.MaxFieldLength.UNLIMITED) contentList = form.cleaned_data["contents"] - indexer = ContentIndexer(contentList,writer) + indexer = ContentIndexer(contentList, writer) indexer.index_all() writer.close() diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/ldt_utils/contentindexer.py --- a/src/ldt/ldt/ldt_utils/contentindexer.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/contentindexer.py Sat Jan 29 06:46:14 2011 +0100 @@ -22,7 +22,7 @@ class ContentIndexer(object): - def __init__(self, contentList, writer, decoupage_blackList = settings.DECOUPAGE_BLACKLIST): + def __init__(self, contentList, writer, decoupage_blackList=settings.DECOUPAGE_BLACKLIST): self.__contentList = contentList self.__decoupage_blacklist = decoupage_blackList self.__writer = writer @@ -49,7 +49,7 @@ self.index_content(content) def index_content(self, content): - url =content.iri_url() + url = content.iri_url() filepath = urllib.urlopen(url) doc = lxml.etree.fromstring(filepath) @@ -58,19 +58,19 @@ res = doc.xpath("/iri/body/ensembles/ensemble") for ensemble in res: - ensembleId = ensemble.get(None,u"id") + ensembleId = ensemble.get(None, u"id") for decoupageNode in ensemble.getchildren(): - if decoupageNode.tag != "decoupage" or decoupageNode.get(None,u"id") in self.decoupage_blacklist: + if decoupageNode.tag != "decoupage" or decoupageNode.get(None, u"id") in self.decoupage_blacklist: continue - decoupId = decoupageNode.get(None,u"id") + decoupId = decoupageNode.get(None, u"id") res = decoupageNode.xpath("elements/element") for elementNode in res: doc = lucene.Document() - elementId = elementNode.get(None,u"id") - tags = elementNode.get(None,u"tags") + elementId = elementNode.get(None, u"id") + tags = elementNode.get(None, u"tags") if tags is not None: tags.replace(",", ";") @@ -127,7 +127,7 @@ class ProjectIndexer(object): - def __init__(self, projectList, writer, decoupage_blackList = settings.DECOUPAGE_BLACKLIST): + def __init__(self, projectList, writer, decoupage_blackList=settings.DECOUPAGE_BLACKLIST): self.__projectList = projectList self.__decoupage_blacklist = decoupage_blackList self.__writer = writer @@ -163,21 +163,21 @@ res = doc.xpath("/iri/annotations/content") for content in res: - contentId = content.get(None,u"id") + contentId = content.get(None, u"id") ensembleId = "ens_perso" for decoupageNode in content.getchildren(): # pocketfilms.utils.log.debug("Indexing content decoupage : "+ repr(decoupageNode.nodeType) + " in " + repr(self.decoupage_blacklist)) - if decoupageNode.tag != "decoupage" or decoupageNode.get(None,"id") in self.decoupage_blacklist: + if decoupageNode.tag != "decoupage" or decoupageNode.get(None, "id") in self.decoupage_blacklist: continue - decoupId = decoupageNode.get(None,u"id") + decoupId = decoupageNode.get(None, u"id") res = decoupageNode.xpath("elements/element") for elementNode in res: doc = lucene.Document() - elementId = elementNode.get(None,u"id") - tags = elementNode.get(None,u"tags") + elementId = elementNode.get(None, u"id") + tags = elementNode.get(None, u"tags") if tags is not None: tags.replace(",", ";") diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/ldt_utils/fileimport.py --- a/src/ldt/ldt/ldt_utils/fileimport.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/fileimport.py Sat Jan 29 06:46:14 2011 +0100 @@ -24,7 +24,7 @@ class IriInfo(object): - def __init__(self, id, order, titledesc, basepath="", videopath=settings.STREAM_URL, decoupage_blacklist = settings.DECOUPAGE_BLACKLIST, flatten = True): + def __init__(self, id, order, titledesc, basepath="", videopath=settings.STREAM_URL, decoupage_blacklist=settings.DECOUPAGE_BLACKLIST, flatten=True): self.id = id self.basepath = basepath self.order = order @@ -89,7 +89,7 @@ if cnode.tag == "decoupage": if newEnsemble is None: #newensemble = doc.createElementNS(None,'ensemble') - ensembleid = self.id+"_"+str(uuid.uuid1()) + ensembleid = self.id + "_" + str(uuid.uuid1()) newensemble = lxml.etree.SubElement(ensemblesnode, 'ensemble', {'id' : ensembleid, @@ -108,7 +108,7 @@ ensembleid = cnode.attrib['id'] cloneNode = deepcopy(cnode) if ensembleid in ensembleids: - ensembleid = self.id+"_"+str(uuid.uuid1()) + ensembleid = self.id + "_" + str(uuid.uuid1()) cloneNode.set(u"id", ensembleid) ensembleids.append(ensembleid) ensemblesnode.append(cloneNode) @@ -140,7 +140,7 @@ def saveContent(self): defaults_media = {'src':unicode(self.videourl), 'title':unicode(self.title), 'description':unicode(self.desc), 'videopath': unicode(self.videopath.rstrip("/") + "/")} - media, media_created = Media.objects.get_or_create(src=unicode(self.videourl), defaults = defaults_media) + media, media_created = Media.objects.get_or_create(src=unicode(self.videourl), defaults=defaults_media) if not media_created: for key, value in defaults_media.items(): setattr(media, key, value) @@ -148,14 +148,14 @@ media.save() defaults_content = { - 'iriurl': unicode(self.src), + 'iriurl': unicode(self.src), 'title':unicode(self.title), 'description':unicode(self.desc), 'media':media, 'iri':unicode(self.id + u"/" + os.path.basename(self.src)), 'duration':int(self.duration) } - content, self.created = Content.objects.get_or_create(iri_id=self.id, defaults = defaults_content) + content, self.created = Content.objects.get_or_create(iri_id=self.id, defaults=defaults_content) if not self.created: for key, value in defaults_content.items(): setattr(content, key, value) @@ -316,12 +316,12 @@ # Get iri file's url from ldt. This url can be relative path or absolute path. #contents[id].src = medianode.attributes['src'].value contents[id].src = medianode.attrib['src'] - if medianode.attrib['video'] !="": + if medianode.attrib['video'] != "": contents[id].videopath = medianode.attrib['video'] - elif self.videopath !="" or self.videopath: + elif self.videopath != "" or self.videopath: contents[id].videopath = self.videopath else: - contents[id].videopath =settings.STREAM_URL + contents[id].videopath = settings.STREAM_URL #get annotation of file ldt diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/ldt_utils/forms.py --- a/src/ldt/ldt/ldt_utils/forms.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/forms.py Sat Jan 29 06:46:14 2011 +0100 @@ -41,7 +41,7 @@ #iri_id = forms.CharField(max_length=1024, widget=forms.HiddenInput, initial=generate_uuid) iriurl = forms.CharField(max_length=1024, widget=forms.HiddenInput, required=False) content_creation_date = forms.SplitDateTimeField(widget=ldt_widgets.LdtSplitDateTime, required=False, label=_("content.content_creation_date")) - media_input_type = forms.ChoiceField(required=False, label=_("content.media_input_type"), choices=(("upload",_("file_upload")),("url",_("url")),("link",_("existing_media")),("create",_("create_media")),("none",_("none_media")) )) + media_input_type = forms.ChoiceField(required=False, label=_("content.media_input_type"), choices=(("upload", _("file_upload")), ("url", _("url")), ("link", _("existing_media")), ("create", _("create_media")), ("none", _("none_media")))) def clean_iri_id(self): data = self.cleaned_data.get('iri_id') @@ -67,7 +67,7 @@ class Media: css = { - 'all' : ('admin/css/forms.css','admin/css/base.css', 'admin/css/widgets.css') + 'all' : ('admin/css/forms.css', 'admin/css/base.css', 'admin/css/widgets.css') } class MediaForm(forms.ModelForm): @@ -82,5 +82,5 @@ class Media: css = { - 'all' : ('admin/css/forms.css','admin/css/base.css', 'admin/css/widgets.css') + 'all' : ('admin/css/forms.css', 'admin/css/base.css', 'admin/css/widgets.css') } diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/ldt_utils/models.py --- a/src/ldt/ldt/ldt_utils/models.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/models.py Sat Jan 29 06:46:14 2011 +0100 @@ -1,15 +1,16 @@ from django.conf import settings +from django.contrib.auth.models import User from django.db import models from django.utils.translation import ugettext_lazy as _ from ldt.core.models import Document, Owner -from django.contrib.auth.models import User -import tagging.fields -from utils import create_ldt, copy_ldt, create_empty_iri, update_iri, generate_uuid +from ldt.ldt_utils import STORE, ANALYZER +from utils import create_ldt, copy_ldt, create_empty_iri, update_iri, \ + generate_uuid +import lucene import lxml.etree import os.path +import tagging.fields import uuid -import lucene -from ldt.ldt_utils import STORE, ANALYZER class Author(models.Model): @@ -36,7 +37,7 @@ title = models.CharField(max_length=1024, null=True, blank=True, verbose_name=_('title')) src = models.CharField(max_length=1024, unique=True, verbose_name=_('media.src')) - def stream_src(): + def stream_src(): #@NoSelf def fget(self): res_src = self.src.rstrip() @@ -44,9 +45,9 @@ extension = res_src.split(".")[-1] res_src = { 'flv': lambda s: s, - 'mp3': lambda s: "%s:%s" %("mp3",res_src[:-4]), - 'mp4': lambda s: "%s:%s" %("mp4",res_src[:-4]), - 'f4v': lambda s: "%s:%s" %("mp4",res_src[:-4]), + 'mp3': lambda s: "%s:%s" % ("mp3", res_src[:-4]), + 'mp4': lambda s: "%s:%s" % ("mp4", res_src[:-4]), + 'f4v': lambda s: "%s:%s" % ("mp4", res_src[:-4]), }.get(extension, lambda s:s)(res_src.lower()) return res_src @@ -80,8 +81,8 @@ authors = models.ManyToManyField(Author, blank=True, verbose_name=_('content.authors')) duration = models.IntegerField(null=True, blank=True, verbose_name=_('content.duration')) content_creation_date = models.DateTimeField(null=True, blank=True, verbose_name=_('content.content_creation_date')) - tags = tagging.fields.TagField(max_length=2048, null=True, blank=True ) - media_obj = models.ForeignKey('Media', blank=True, null=True ) + tags = tagging.fields.TagField(max_length=2048, null=True, blank=True) + media_obj = models.ForeignKey('Media', blank=True, null=True) class Meta: ordering = ["title"] @@ -92,7 +93,7 @@ res = doc.xpath("/iri/body/medias/media[@id='video']/video") if len(res) > 0: try: - self.duration = int(res[0].get(u'dur',0) or 0) + self.duration = int(res[0].get(u'dur', 0) or 0) except: self.duration = 0 else: @@ -116,7 +117,7 @@ if not os.path.exists(dir): os.makedirs(dir) created = True - file = open(iri_file_path,"w") + file = open(iri_file_path, "w") create_empty_iri(file, self, "IRI") else: created = False @@ -143,7 +144,7 @@ if 'http' in self.iriurl or 'https' in self.iriurl: return self.iriurl else: - return unicode(web_url) + unicode(settings.MEDIA_URL)+u"media/ldt/"+unicode(self.iriurl) + return unicode(web_url) + unicode(settings.MEDIA_URL) + u"media/ldt/" + unicode(self.iriurl) def iri_file_path(self): return os.path.join(os.path.join(os.path.join(os.path.join(settings.MEDIA_ROOT, "media"), "ldt"), self.iri_id), os.path.basename(self.iriurl)) @@ -160,7 +161,7 @@ return None - def stream_src(): + def stream_src(): #@NoSelf def fget(self): if self.media_obj is not None: @@ -212,7 +213,7 @@ def fset(self, value): if self.media_obj is None or self.media_obj.src != value: - media, created = Media.objects.get_or_create(src=value, defaults={'src':value}) + media, created = Media.objects.get_or_create(src=value, defaults={'src':value}) #@UnusedVariable self.media_obj = media self.save() @@ -244,7 +245,7 @@ class Project(Document): - STATE_CHOICES=( + STATE_CHOICES = ( (1, 'edition'), (2, 'published'), (3, 'moderated'), @@ -284,9 +285,9 @@ def create_project(user, title, contents): owner = Owner.objects.get(user=user) project = Project(title=title, owner=owner) - project.ldt_id = str(uuid.uuid1()) - project.created_by=user.username - project.changed_by=user.username + project.ldt_id = str(uuid.uuid1()) #@UndefinedVariable + project.created_by = user.username + project.changed_by = user.username project.state = 1 project.save() for content in contents: diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/ldt_utils/projectindexer.py --- a/src/ldt/ldt/ldt_utils/projectindexer.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/projectindexer.py Sat Jan 29 06:46:14 2011 +0100 @@ -13,7 +13,7 @@ return property(**func()) class ProjectIndexer(object): - def __init__(self, projectList, writer, decoupage_blackList = settings.DECOUPAGE_BLACKLIST): + def __init__(self, projectList, writer, decoupage_blackList=settings.DECOUPAGE_BLACKLIST): self.__projectList = projectList self.__decoupage_blacklist = decoupage_blackList self.__writer = writer @@ -42,18 +42,18 @@ def index_project(self, project): # ldt.utils.log.debug("Indexing project : "+str(project.ldt_id)) - ldt=project.ldt - doc = lxml.etree.fromstring(ldt.encode( "utf-8" )) + ldt = project.ldt + doc = lxml.etree.fromstring(ldt.encode("utf-8")) self.__writer.deleteDocuments(lucene.Term("ldt_id", project.ldt_id)) res = doc.xpath("/iri/annotations/content") - project.ldt.encode( "utf-8 " ) + project.ldt.encode("utf-8 ") for content in res: contentId = content.get("id") - res =content.xpath("ensemble") + res = content.xpath("ensemble") for ensemble in res: ensembleId = ensemble.get("id") diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/ldt_utils/projectserializer.py --- a/src/ldt/ldt/ldt_utils/projectserializer.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/projectserializer.py Sat Jan 29 06:46:14 2011 +0100 @@ -6,7 +6,7 @@ import lxml.etree import uuid -DATE_FORMATS = ["%d/%m/%Y","%Y-%m-%d"] +DATE_FORMATS = ["%d/%m/%Y", "%Y-%m-%d"] """ @@ -107,7 +107,7 @@ if date_str : for date_format in DATE_FORMATS: try: - decoupage_created = datetime.strptime(date_str,date_format).isoformat() + decoupage_created = datetime.strptime(date_str, date_format).isoformat() break except Exception: decoupage_created = None @@ -148,7 +148,7 @@ element_media = content.iri_id element_color = element_node.attrib[u"color"] - element_title = reduce_text_node(element_node,"title/text()") + element_title = reduce_text_node(element_node, "title/text()") element_description = reduce_text_node(element_node, "abstract/text()") element_twitter = reduce_text_node(element_node, "meta/twitter/text()") @@ -156,14 +156,14 @@ element_audio_href = "" res = element_node.xpath("audio") if len(res) > 0: - element_audio_src = res[0].get(u"source",u"") - element_audio_href = res[0].text + element_audio_src = res[0].get(u"source", u"") + element_audio_href = res[0].text element_tags = [] - tags = element_node.get(u"tags",u"") + tags = element_node.get(u"tags", u"") - tags_list = map(lambda s:s.strip(),tags.split(",")) + tags_list = map(lambda s:s.strip(), tags.split(",")) #tags if tags is None or len(tags) == 0: @@ -338,7 +338,7 @@ "dc:duration" : content.get_duration(), "item": { "name" : "streamer", - "value": meta_item_value, + "value": meta_item_value, }, } } @@ -375,7 +375,7 @@ } - res['medias'] = self.medias_dict.values() if len(self.medias_dict) > 0 else None + res['medias'] = self.medias_dict.values() if len(self.medias_dict) > 0 else None res['lists'] = self.lists_dict.values() if len(self.lists_dict) > 0 else None res['tags'] = self.tags.values() if len(self.tags) > 0 else None res['views'] = self.views_dict.values() if len(self.views_dict) > 0 else None @@ -404,11 +404,11 @@ content_id = annot['media'] content = Content.objects.get(iri_id=content_id) if annot['tags']: - tags_list = map(lambda tag_entry: self.tags_dict[tag_entry['id-ref']]['meta']['dc:title'],annot['tags']) + tags_list = map(lambda tag_entry: self.tags_dict[tag_entry['id-ref']]['meta']['dc:title'], annot['tags']) else: tags_list = [] begin = int(annot['begin']) - duration = int(annot['end'])-begin + duration = int(annot['end']) - begin if content.media_obj and content.media_obj.external_publication_url: uri = "%s#t=%d" % (content.media_obj.external_publication_url, begin) diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/ldt_utils/tests.py --- a/src/ldt/ldt/ldt_utils/tests.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/tests.py Sat Jan 29 06:46:14 2011 +0100 @@ -49,7 +49,7 @@ self.project.save() self.projectcopy = Project(title="the2ndproject") - self.projectcopy.id="22" + self.projectcopy.id = "22" def tearDown(self): self.project.delete() @@ -66,13 +66,13 @@ self.cont2.iri_id = "id2" self.cont2.save() - self.project.contents.add(self.cont1,self.cont2) + self.project.contents.add(self.cont1, self.cont2) - f=tempfile.TemporaryFile(mode='r+') - self.LU.generateLdt(Content.objects.all(),f) + f = tempfile.TemporaryFile(mode='r+') + self.LU.generateLdt(Content.objects.all(), f) f.seek(0) ldoc = lxml.etree.parse(f) - self.assertEqual(ldoc.xpath("/iri/displays/display/content")[9].get("id"),self.cont2.iri_id) + self.assertEqual(ldoc.xpath("/iri/displays/display/content")[9].get("id"), self.cont2.iri_id) self.assertEqual(ldoc.xpath("/iri/medias/media")[8].get("id"), self.cont1.iri_id) f.close() @@ -85,8 +85,8 @@ self.cont4.iri_id = "id4" self.cont4.save() - self.project.contents.add(self.cont3,self.cont4) - ldoc = self.LU.generateInit(None,None) + self.project.contents.add(self.cont3, self.cont4) + ldoc = self.LU.generateInit(None, None) self.assertEqual(ldoc.xpath("/iri/files/init")[0].tag, "init") self.assertEqual(ldoc.xpath("/iri/files/library")[0].tag, "library") self.assertEqual(ldoc.xpath("/iri/files/init/file")[0].get("video"), settings.STREAM_URL) @@ -100,11 +100,11 @@ self.cont6.iri_id = "id6" self.cont6.save() - self.project.contents.add(self.cont5,self.cont6) - self.project.ldt="" + self.project.contents.add(self.cont5, self.cont6) + self.project.ldt = "" create_ldt(self.project, self.user) ldt = lxml.etree.fromstring(self.project.ldt) - self.assertEqual(ldt.xpath("/iri")[0].tag,"iri") + self.assertEqual(ldt.xpath("/iri")[0].tag, "iri") self.assertEqual(ldt.xpath("/iri/project")[0].get("title"), self.project.title) self.assertEqual(ldt.xpath("/iri/medias/media")[0].get("src"), self.cont5.iri_url()) self.assertEqual(ldt.xpath("/iri/medias/media")[1].get("id"), self.cont6.iri_id) @@ -118,15 +118,15 @@ self.cont8.iri_id = "id8" self.cont8.save() - self.project.contents.add(self.cont7,self.cont8) + self.project.contents.add(self.cont7, self.cont8) copy_ldt(self.project, self.projectcopy, self.user) - ldt1=lxml.etree.fromstring(self.project.ldt) - ldt2=lxml.etree.fromstring(self.projectcopy.ldt) - self.assertTrue(ldt1.xpath("/iri/project")[0].get("id")!= ldt2.xpath("/iri/project")[0].get("id")) - self.assertEqual(ldt1.xpath("/iri/medias/media")[0].get("id"),ldt2.xpath("/iri/medias/media")[0].get("id")) - self.assertEqual(ldt1.xpath("/iri/annotations/content/ensemble")[0].get("title"),ldt2.xpath("/iri/annotations/content/ensemble")[0].get("title")) - self.assertEqual(ldt1.xpath("/iri/annotations/content/ensemble/decoupage")[0].get("id"),ldt2.xpath("/iri/annotations/content/ensemble/decoupage")[0].get("id")) - self.assertEqual(ldt1.xpath("/iri/annotations/content/ensemble/decoupage/title")[1].text,ldt2.xpath("/iri/annotations/content/ensemble/decoupage/title")[1].text.strip("\n\t")) + ldt1 = lxml.etree.fromstring(self.project.ldt) + ldt2 = lxml.etree.fromstring(self.projectcopy.ldt) + self.assertTrue(ldt1.xpath("/iri/project")[0].get("id") != ldt2.xpath("/iri/project")[0].get("id")) + self.assertEqual(ldt1.xpath("/iri/medias/media")[0].get("id"), ldt2.xpath("/iri/medias/media")[0].get("id")) + self.assertEqual(ldt1.xpath("/iri/annotations/content/ensemble")[0].get("title"), ldt2.xpath("/iri/annotations/content/ensemble")[0].get("title")) + self.assertEqual(ldt1.xpath("/iri/annotations/content/ensemble/decoupage")[0].get("id"), ldt2.xpath("/iri/annotations/content/ensemble/decoupage")[0].get("id")) + self.assertEqual(ldt1.xpath("/iri/annotations/content/ensemble/decoupage/title")[1].text, ldt2.xpath("/iri/annotations/content/ensemble/decoupage/title")[1].text.strip("\n\t")) def test_create_empty_iri(self): self.cont9 = Content(iriurl="id9/iriurl1") @@ -137,7 +137,7 @@ self.cont10.iri_id = "id10" self.cont10.save() - self.project.contents.add(self.cont9,self.cont10) + self.project.contents.add(self.cont9, self.cont10) tmp = tempfile.TemporaryFile(mode='r+') create_empty_iri(tmp, self.cont9, "admin") tmp.seek(0) diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/ldt_utils/urls.py --- a/src/ldt/ldt/ldt_utils/urls.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/urls.py Sat Jan 29 06:46:14 2011 +0100 @@ -1,4 +1,4 @@ -from django.conf.urls.defaults import * +from django.conf.urls.defaults import patterns, url from ldt.management import test_ldt # Uncomment the next two lines to enable the admin: @@ -23,13 +23,13 @@ url(r'^cljson/externalid/(?P.*)$', 'views.project_json_externalid'), url(r'^rdf/id/(?P.*)$', 'views.project_annotations_rdf'), url(r'^/?$', "views.workspace", name="root-view"), - url(r'^filterprojects/_(?P[\w\%\_\-\+]*?)/(?Ptrue|false)/(?P\d)$', "views.projectsfilter", ), - url(r'^filtercontents/_(?P[\w\%\_\-\+]*?)/$', "views.contentsfilter", ), + url(r'^filterprojects/_(?P[\w\%\_\-\+]*?)/(?Ptrue|false)/(?P\d)$', "views.projectsfilter",), + url(r'^filtercontents/_(?P[\w\%\_\-\+]*?)/$', "views.contentsfilter",), (r'^embedpopup/?$', "views.popup_embed"), ) urlpatterns += patterns('', - url('^jsi18n','django.views.i18n.javascript_catalog', name='jsi18n'), + url('^jsi18n', 'django.views.i18n.javascript_catalog', name='jsi18n'), ) diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/ldt_utils/utils.py --- a/src/ldt/ldt/ldt_utils/utils.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/utils.py Sat Jan 29 06:46:14 2011 +0100 @@ -18,7 +18,7 @@ } def reduce_text_node(element_node, xpath_str): - return reduce(lambda t, s: t+s, element_node.xpath(xpath_str, smart_strings=False), "") + return reduce(lambda t, s: t + s, element_node.xpath(xpath_str, smart_strings=False), "") def boolean_convert(bool): if bool is None: @@ -43,7 +43,7 @@ res = [] for hit in hits.scoreDocs: doc = indexSearcher.doc(hit.doc) - res.append({"iri_id":doc.get("iri_id"),"ensemble_id":doc.get("ensemble_id"),"decoupage_id":doc.get("decoupage_id"), "element_id":doc.get("element_id")}) + res.append({"iri_id":doc.get("iri_id"), "ensemble_id":doc.get("ensemble_id"), "decoupage_id":doc.get("decoupage_id"), "element_id":doc.get("element_id")}) indexSearcher.close() return res @@ -52,16 +52,16 @@ class LdtUtils(object): - def generateLdt(self, contentList, file, title = u"", author=u"IRI Web", web_url=u"", media_url="", startSegment = None, contributions=None): + def generateLdt(self, contentList, file, title=u"", author=u"IRI Web", web_url=u"", media_url="", startSegment=None, contributions=None): iri = lxml.etree.Element(u'iri') doc = lxml.etree.ElementTree(iri) project = lxml.etree.SubElement(iri, u'project') - project.set(u"id",unicode(str(uuid.uuid1()))) - project.set(u"title",unicode(title)) - project.set(u"user",author) - project.set(u"abstract",u"") + project.set(u"id", unicode(str(uuid.uuid1()))) + project.set(u"title", unicode(title)) + project.set(u"user", author) + project.set(u"abstract", u"") medias = lxml.etree.SubElement(iri, u"medias") for content in contentList: @@ -69,11 +69,11 @@ if content.videopath : videopath = unicode(content.videopath) media = lxml.etree.SubElement(medias, "media") - media.set(u"id",content.iri_id) - media.set(u"src",content.iri_url(web_url)) - media.set(u"video",videopath) - media.set(u"pict",u"") - media.set(u"extra",u"") + media.set(u"id", content.iri_id) + media.set(u"src", content.iri_url(web_url)) + media.set(u"video", videopath) + media.set(u"pict", u"") + media.set(u"extra", u"") if contributions is None: contributions = [] @@ -88,7 +88,7 @@ contentnode = annotations_nodes[contentid] else: contentnode = {"id":contentid, "ensembles":[]} - annotations_nodes[contentid]=contentnode + annotations_nodes[contentid] = contentnode for ens in content.childNodes: if ens.tag.endswith("ensemble"): contentnode["ensembles"].append(ens.tag) @@ -100,13 +100,13 @@ if content.content_base.iri_id in annotations_nodes: contentnode = annotations_nodes[content.content_base.iri_id] if contentnode is not None: - if len(contentnode["ensembles"])>0: + if len(contentnode["ensembles"]) > 0: content = lxml.etree.SubElement(annotation, "content") - content.set("id",contentnode["id"]) + content.set("id", contentnode["id"]) content.text = u"" else: content = lxml.etree.SubElement(annotation, "content") - content.set("id",contentnode["id"]) + content.set("id", contentnode["id"]) else: annotations = lxml.etree.SubElement(iri, "annotations") @@ -115,13 +115,13 @@ displays = lxml.etree.SubElement(iri, "displays") if len(contentList) > 0: display = lxml.etree.SubElement(displays, "display") - display.set(u"id",u"0") - display.set(u"title",u"generated") - display.set(u"idsel",contentList[0].iri_id) - display.set(u"tc",u"0") + display.set(u"id", u"0") + display.set(u"title", u"generated") + display.set(u"idsel", contentList[0].iri_id) + display.set(u"tc", u"0") for content in contentList: - contentd = lxml.etree.SubElement(display,"content") - contentd.set(u"id",content.iri_id) + contentd = lxml.etree.SubElement(display, "content") + contentd.set(u"id", content.iri_id) filepath = urllib.urlopen(content.iri_url()) udoc = lxml.etree.parse(filepath) @@ -131,16 +131,16 @@ ensemble_id = decoupagenode.getparent().get(u"id") decoupage_id = decoupagenode.get(u"id") ensemble_id = decoupagenode.getparent().get(u"id") - decoupage = lxml.etree.SubElement(contentd,"decoupage") - decoupage.set(u"id",decoupage_id) - decoupage.set(u"idens",ensemble_id) + decoupage = lxml.etree.SubElement(contentd, "decoupage") + decoupage.set(u"id", decoupage_id) + decoupage.set(u"idens", ensemble_id) if startSegment is not None: - activeSegment = lxml.etree.SubElement(display,"activeSegment") - idas = lxml.etree.SubElement(activeSegment,"id") - idas.set(u"idctt",startSegment["idcontent"]) - idas.set(u"idens" ,startSegment["idgroup"]) - idas.set(u"idcut",startSegment["idcutting"]) - idas.set(u"idseg",startSegment["idsegment"]) + activeSegment = lxml.etree.SubElement(display, "activeSegment") + idas = lxml.etree.SubElement(activeSegment, "id") + idas.set(u"idctt", startSegment["idcontent"]) + idas.set(u"idens" , startSegment["idgroup"]) + idas.set(u"idcut", startSegment["idcutting"]) + idas.set(u"idseg", startSegment["idsegment"]) edits = lxml.etree.SubElement(iri, "edits") @@ -152,14 +152,14 @@ iri = lxml.etree.Element('iri') impl = lxml.etree.ElementTree(iri) - elementFiles = lxml.etree.SubElement(iri,'files') + elementFiles = lxml.etree.SubElement(iri, 'files') elementInit = lxml.etree.SubElement(elementFiles, 'init') elementfile = lxml.etree.SubElement(elementInit, 'file') - elementfile.set('src',settings.WEB_URL + django.core.urlresolvers.reverse(method, args=url)) + elementfile.set('src', settings.WEB_URL + django.core.urlresolvers.reverse(method, args=url)) elementfile.set('display', '1') if(search): - elementfile.set("segsel",settings.WEB_URL + django.core.urlresolvers.reverse(search, args=url)) + elementfile.set("segsel", settings.WEB_URL + django.core.urlresolvers.reverse(search, args=url)) # /*chemin video : tant que le serveur de media n'est pas up, */ @@ -210,7 +210,7 @@ elementMedia.set('id', content.iri_id) elementMedia.set('src', content.iri_url()) - if content.videopath and content.videopath !="": + if content.videopath and content.videopath != "": elementMedia.set('video', content.videopath) else: elementMedia.set('video', settings.STREAM_URL) @@ -244,7 +244,7 @@ #eg: "iiiielizabethrosse/ENMI08-III_elizabethrosse.iri" url = content.iri_url() else: - url =content.iriurl + url = content.iriurl file = urllib.urlopen(url) doc = lxml.etree.parse(file) res = doc.xpath("/iri/body/ensembles/ensemble/decoupage") @@ -252,7 +252,7 @@ #node decoupage for decoupagenode in res: decoupage_id = decoupagenode.get(u"id") - parent= decoupagenode.getparent() + parent = decoupagenode.getparent() ensemble_id = parent.get(u"id") elementDecoupage = lxml.etree.SubElement(elementContent, 'decoupage') elementDecoupage.set('idens', ensemble_id) @@ -271,11 +271,11 @@ def copy_ldt(project, new_project, user): new_project.ldt_id = str(uuid.uuid1()) - new_project.created_by=user.username - new_project.changed_by=user.username + new_project.created_by = user.username + new_project.changed_by = user.username new_project.state = 1 - contentList=project.contents.all() + contentList = project.contents.all() """create xml""" @@ -303,22 +303,22 @@ meta_id.set(u'name', u'id') meta_id.set(u'content', unicode(content.iri_id)) meta_title = lxml.etree.SubElement(head, 'meta') - meta_title.set(u'name',u'title') + meta_title.set(u'name', u'title') meta_title.set(u'content', unicode(content.title)) meta_abstract = lxml.etree.SubElement(head, 'meta') - meta_abstract.set(u'name',u'abstract') + meta_abstract.set(u'name', u'abstract') meta_abstract.set(u'content', unicode(content.description)) meta_author = lxml.etree.SubElement(head, 'meta') - meta_author.set(u'name',u'author') + meta_author.set(u'name', u'author') meta_author.set(u'content', unicode(username)) meta_contributor = lxml.etree.SubElement(head, 'meta') - meta_contributor.set(u'name',u'contributor') + meta_contributor.set(u'name', u'contributor') meta_contributor.set(u'content', unicode(username)) meta_date = lxml.etree.SubElement(head, 'meta') - meta_date.set(u'name',u'date') + meta_date.set(u'name', u'date') meta_date.set(u'content', unicode(datetime.date.today().isoformat())) meta_copyright = lxml.etree.SubElement(head, 'meta') - meta_copyright.set(u'name',u'copyright') + meta_copyright.set(u'name', u'copyright') meta_copyright.set(u'content', u'IRI') meta_type = lxml.etree.SubElement(head, 'meta') meta_type.set(u'name', u'type') @@ -331,15 +331,15 @@ medias = lxml.etree.SubElement(body, 'medias') media_video = lxml.etree.SubElement(medias, 'media') - media_video.set(u'id',u'video') + media_video.set(u'id', u'video') video = lxml.etree.SubElement(media_video, 'video') - video.set(u'src',unicode(content.stream_src)) - video.set(u'id',unicode(content.iri_id)) - video.set(u'dur',unicode(content.duration)) - video.set(u'begin',u'0') + video.set(u'src', unicode(content.stream_src)) + video.set(u'id', unicode(content.iri_id)) + video.set(u'dur', unicode(content.duration)) + video.set(u'begin', u'0') media_tool = lxml.etree.SubElement(medias, 'media') - media_tool.set(u'id',u'tool') + media_tool.set(u'id', u'tool') tool = lxml.etree.SubElement(media_tool, 'tool') display = lxml.etree.SubElement(body, 'display') diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/ldt_utils/views.py --- a/src/ldt/ldt/ldt_utils/views.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/ldt_utils/views.py Sat Jan 29 06:46:14 2011 +0100 @@ -75,11 +75,11 @@ annotations = ps.getAnnotations(first_cutting=True) embed_rendered = dict((typestr, - (lambda s:escape(lxml.etree.tostring(fragment_fromstring(render_to_string("ldt/ldt_utils/partial/embed_%s.html"%(s), {'json_url':json_url,'player_id':player_id, 'annotations':annotations, 'ldt_id': ldt_id}, context_instance=RequestContext(request))),pretty_print=True)))(typestr)) - for typestr in ('player','seo_body', 'seo_meta', 'links') ) + (lambda s:escape(lxml.etree.tostring(fragment_fromstring(render_to_string("ldt/ldt_utils/partial/embed_%s.html" % (s), {'json_url':json_url, 'player_id':player_id, 'annotations':annotations, 'ldt_id': ldt_id}, context_instance=RequestContext(request))), pretty_print=True)))(typestr)) + for typestr in ('player', 'seo_body', 'seo_meta', 'links')) return render_to_response("ldt/ldt_utils/embed_popup.html", - {'json_url':json_url,'player_id':player_id, 'embed_rendered':embed_rendered, 'annotations':annotations, 'ldt_id' : ldt_id}, + {'json_url':json_url, 'player_id':player_id, 'embed_rendered':embed_rendered, 'annotations':annotations, 'ldt_id' : ldt_id}, context_instance=RequestContext(request)) @@ -108,7 +108,7 @@ filter = filter[1:] query &= Q(title__icontains=filter) - project_list = Project.objects.filter(query) + project_list = Project.objects.filter(query) return render_to_response("ldt/ldt_utils/partial/projectslist.html", {'projects': project_list}, @@ -135,7 +135,7 @@ def searchForm(request): form = SearchForm() - return render_to_response('ldt/ldt_utils/search_form.html',{'form': form} , context_instance=RequestContext(request)) + return render_to_response('ldt/ldt_utils/search_form.html', {'form': form} , context_instance=RequestContext(request)) def searchIndex(request): @@ -149,7 +149,7 @@ language_code = request.LANGUAGE_CODE[:2] url = settings.WEB_URL + django.core.urlresolvers.reverse("ldt.ldt_utils.views.searchInit", args=[field, queryStr]) - return render_to_response('ldt/ldt_utils/init_ldt.html', {'LDT_MEDIA_PREFIX': settings.LDT_MEDIA_PREFIX, 'colorurl': settings.LDT_MEDIA_PREFIX+'swf/ldt/pkg/color.xml', 'i18nurl': settings.LDT_MEDIA_PREFIX+'swf/ldt/pkg/i18n', 'language': language_code, 'baseurl': settings.LDT_MEDIA_PREFIX+'swf/ldt/', 'url': url}, context_instance=RequestContext(request)) + return render_to_response('ldt/ldt_utils/init_ldt.html', {'LDT_MEDIA_PREFIX': settings.LDT_MEDIA_PREFIX, 'colorurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/pkg/color.xml', 'i18nurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/pkg/i18n', 'language': language_code, 'baseurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/', 'url': url}, context_instance=RequestContext(request)) else: resp = HttpResponse() resp.write("Error : No result"); @@ -158,13 +158,13 @@ language_code = request.LANGUAGE_CODE[:2] url = settings.WEB_URL + django.core.urlresolvers.reverse("ldt.ldt_utils.views.searchInit", args=[field, query]) - return render_to_response('ldt/ldt_utils/init_ldt.html', {'LDT_MEDIA_PREFIX': settings.LDT_MEDIA_PREFIX, 'colorurl': settings.LDT_MEDIA_PREFIX+'swf/ldt/pkg/color.xml', 'i18nurl': settings.LDT_MEDIA_PREFIX+'swf/ldt/pkg/i18n', 'language': language_code, 'baseurl': settings.LDT_MEDIA_PREFIX+'swf/ldt/', 'url': url}, context_instance=RequestContext(request)) + return render_to_response('ldt/ldt_utils/init_ldt.html', {'LDT_MEDIA_PREFIX': settings.LDT_MEDIA_PREFIX, 'colorurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/pkg/color.xml', 'i18nurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/pkg/i18n', 'language': language_code, 'baseurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/', 'url': url}, context_instance=RequestContext(request)) def searchInit(request, field, query): ldtgen = LdtUtils() - doc = ldtgen.generateInit([field,query], 'ldt.ldt_utils.views.searchLdt', 'ldt.ldt_utils.views.searchSegments') + doc = ldtgen.generateInit([field, query], 'ldt.ldt_utils.views.searchLdt', 'ldt.ldt_utils.views.searchSegments') resp = HttpResponse(mimetype="text/xml;charset=utf-8") doc.write(resp, pretty_print=True) @@ -176,7 +176,7 @@ resp = HttpResponse(mimetype="text/xml") queryStr = "" - if query and len(query)>0: + if query and len(query) > 0: queryStr = base64.urlsafe_b64decode(query.encode("ascii")).decode("utf8") searcher = LdtSearch() ids = {} @@ -194,14 +194,14 @@ ldtgen = LdtUtils() - ldtgen.generateLdt(contentList, file=resp, title = u"Recherche : " + queryStr) + ldtgen.generateLdt(contentList, file=resp, title=u"Recherche : " + queryStr) return resp def searchSegments(request, field, query, edition=None): - if query and len(query)>0: + if query and len(query) > 0: searcher = LdtSearch() queryStr = base64.urlsafe_b64decode(query.encode("ascii")).decode("utf8") @@ -241,7 +241,7 @@ except: return HttpResponseRedirect(settings.LOGIN_URL) ldtProjects = Project.objects.filter(owner=owner) - context={ + context = { 'contents': contents, 'projects': ldtProjects.reverse(), } @@ -250,7 +250,7 @@ @login_required def list_content(request): contents = Content.objects.all() - context={ + context = { 'contents': contents, } return render_to_response('ldt/ldt_utils/content_list.html', context, context_instance=RequestContext(request)) @@ -263,14 +263,14 @@ user = request.user Project.create_project(title=form.cleaned_data['title'], user=user, contents=form.cleaned_data['contents']) form_status = "saved" - contents=[] + contents = [] #return HttpResponseRedirect(reverse("ldt.ldt_utils.views.list_ldt")) else: form = LdtAddForm() contents = Content.objects.all() form_status = "none" - return render_to_response('ldt/ldt_utils/create_ldt.html', {'contents': contents, 'form': form, 'form_status':form_status,'create_project_action':reverse(create_ldt_view)}, context_instance=RequestContext(request)) + return render_to_response('ldt/ldt_utils/create_ldt.html', {'contents': contents, 'form': form, 'form_status':form_status, 'create_project_action':reverse(create_ldt_view)}, context_instance=RequestContext(request)) def created_ldt(request): return render_to_response('ldt/ldt_utils/save_done.html', context_instance=RequestContext(request)) @@ -278,33 +278,33 @@ def indexProject(request, id): urlStr = settings.WEB_URL + reverse("space_ldt_init", args=['ldtProject', id]) - posturl= settings.WEB_URL + reverse("ldt.ldt_utils.views.save_ldtProject") + posturl = settings.WEB_URL + reverse("ldt.ldt_utils.views.save_ldtProject") language_code = request.LANGUAGE_CODE[:2] ldt = get_object_or_404(Project, ldt_id=id) - if ldt.state ==2: #published + if ldt.state == 2: #published readonly = 'true' else: readonly = 'false' - return render_to_response('ldt/ldt_utils/init_ldt.html', {'LDT_MEDIA_PREFIX': settings.LDT_MEDIA_PREFIX, 'colorurl': settings.LDT_MEDIA_PREFIX+'swf/ldt/pkg/color.xml', 'i18nurl': settings.LDT_MEDIA_PREFIX+'swf/ldt/pkg/i18n', 'language': language_code, 'baseurl': settings.LDT_MEDIA_PREFIX+'swf/ldt/', 'url': urlStr, 'posturl': posturl, 'id': id, 'readonly': readonly}, context_instance=RequestContext(request)) + return render_to_response('ldt/ldt_utils/init_ldt.html', {'LDT_MEDIA_PREFIX': settings.LDT_MEDIA_PREFIX, 'colorurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/pkg/color.xml', 'i18nurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/pkg/i18n', 'language': language_code, 'baseurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/', 'url': urlStr, 'posturl': posturl, 'id': id, 'readonly': readonly}, context_instance=RequestContext(request)) def init(request, method, url): ldtgen = LdtUtils() - doc = ldtgen.generateInit([url], 'ldt.ldt_utils.views.'+method, None) + doc = ldtgen.generateInit([url], 'ldt.ldt_utils.views.' + method, None) resp = HttpResponse(mimetype="text/xml") - resp['Cache-Control']='no-cache, must-revalidate' - resp['Pragma']='no-cache' + resp['Cache-Control'] = 'no-cache, must-revalidate' + resp['Pragma'] = 'no-cache' - resp.write( etree.tostring(doc, pretty_print=True, xml_declaration=True, encoding="utf-8")) + resp.write(etree.tostring(doc, pretty_print=True, xml_declaration=True, encoding="utf-8")) return resp def ldtProject(request, id): resp = HttpResponse(mimetype="text/xml") - resp['Cache-Control']='no-cache, must-revalidate' - resp['Pragma']='no-cache' + resp['Cache-Control'] = 'no-cache, must-revalidate' + resp['Pragma'] = 'no-cache' project = Project.objects.get(ldt_id=id) resp.write(project.ldt) @@ -313,20 +313,20 @@ def project_json_id(request, id): - project = get_object_or_404(Project,ldt_id=id) + project = get_object_or_404(Project, ldt_id=id) return project_json(request, project, False) def project_json_externalid(request, id): - res_proj = get_list_or_404(Project.objects.order_by('-modification_date'),contents__external_id = id) + res_proj = get_list_or_404(Project.objects.order_by('-modification_date'), contents__external_id=id) return project_json(request, res_proj[0], False) -def project_json(request, project, serialize_contents = True): +def project_json(request, project, serialize_contents=True): if not ldt_auth.checkAccess(request.user, project): return HttpResponseForbidden(_("You can not access this project")) @@ -339,8 +339,8 @@ if "charset" not in mimetype: mimetype += "; charset=utf-8" resp = HttpResponse(mimetype=mimetype) - resp['Cache-Control']='no-cache, must-revalidate' - resp['Pragma']='no-cache' + resp['Cache-Control'] = 'no-cache, must-revalidate' + resp['Pragma'] = 'no-cache' indent = request.REQUEST.get("indent") if indent is None: @@ -361,7 +361,7 @@ json_str = simplejson.dumps(project_dict, ensure_ascii=False, indent=indent) if callback is not None: - json_str = "%s(%s)" % (callback,json_str) + json_str = "%s(%s)" % (callback, json_str) if escape_bool: json_str = escape(json_str) @@ -385,8 +385,8 @@ if "charset" not in mimetype: mimetype += "; charset=utf-8" resp = HttpResponse(mimetype=mimetype) - resp['Cache-Control']='no-cache, must-revalidate' - resp['Pragma']='no-cache' + resp['Cache-Control'] = 'no-cache, must-revalidate' + resp['Pragma'] = 'no-cache' ps = ProjectSerializer(project, from_contents=False, from_display=True) annotations = ps.getAnnotations(first_cutting=True) @@ -397,7 +397,7 @@ dc = u"{%s}" % dc_ns nsmap = {u'rdf' : rdf_ns, u'dc':dc_ns} - rdf_root = etree.Element(rdf+u"RDF", nsmap=nsmap) + rdf_root = etree.Element(rdf + u"RDF", nsmap=nsmap) logging.debug("RDF annotations : " + repr(annotations)) @@ -405,16 +405,16 @@ uri = u"" if 'uri' in annotation and annotation['uri']: uri = unicode(annotation['uri']) - annot_desc = etree.SubElement(rdf_root, rdf+u"Description") - annot_desc.set(rdf+u'about',uri) + annot_desc = etree.SubElement(rdf_root, rdf + u"Description") + annot_desc.set(rdf + u'about', uri) if annotation['title']: - etree.SubElement(annot_desc, dc+'title').text = etree.CDATA(unicode(annotation['title'])) + etree.SubElement(annot_desc, dc + 'title').text = etree.CDATA(unicode(annotation['title'])) if annotation['desc']: - etree.SubElement(annot_desc, dc+'description').text = etree.CDATA(unicode(annotation['desc'])) + etree.SubElement(annot_desc, dc + 'description').text = etree.CDATA(unicode(annotation['desc'])) if annotation['tags']: for tag in annotation['tags']: - etree.SubElement(annot_desc, dc+'subject').text = etree.CDATA(unicode(tag)) - etree.SubElement(annot_desc,dc+'coverage').text = u"start=%s, duration=%s" % (annotation['begin'], annotation['duration']) + etree.SubElement(annot_desc, dc + 'subject').text = etree.CDATA(unicode(tag)) + etree.SubElement(annot_desc, dc + 'coverage').text = u"start=%s, duration=%s" % (annotation['begin'], annotation['duration']) resp.write(u"\n") resp.write(u"\n") @@ -424,23 +424,23 @@ return resp def save_ldtProject(request): - if request.method=="POST": + if request.method == "POST": ldt = request.POST['ldt'] id = request.POST['id'] - ldtproject=Project.objects.get(ldt_id=id) + ldtproject = Project.objects.get(ldt_id=id) #save xml ldt - ldtproject.ldt=ldt + ldtproject.ldt = ldt - doc = lxml.etree.fromstring(ldtproject.ldt.encode( "utf-8" )) + doc = lxml.etree.fromstring(ldtproject.ldt.encode("utf-8")) result = doc.xpath("/iri/project") #set new title ldtproject.title = result[0].get("title") #get new content list - new_contents=[] + new_contents = [] result = doc.xpath("/iri/medias/media") for medianode in result: id = medianode.get("id") @@ -454,7 +454,7 @@ ldtproject.save() else: ldt = '' - new_contents=[] + new_contents = [] return render_to_response('ldt/ldt_utils/save_done.html', {'ldt': ldt, 'id':id, 'title':ldtproject.title, 'contents': new_contents}, context_instance=RequestContext(request)) @@ -469,7 +469,7 @@ if redirect: return HttpResponseRedirect(reverse("ldt.ldt_utils.views.list_ldt")) else: - return HttpResponse(simplejson.dumps({'res':True, 'ldt': {'id': ldt.id, 'state':ldt.state,'ldt_id': ldt.ldt_id}}, ensure_ascii=False),mimetype='application/json') + return HttpResponse(simplejson.dumps({'res':True, 'ldt': {'id': ldt.id, 'state':ldt.state, 'ldt_id': ldt.ldt_id}}, ensure_ascii=False), mimetype='application/json') @login_required def unpublish(request, id, redirect=True): @@ -480,18 +480,18 @@ if redirect: return HttpResponseRedirect(reverse("ldt.ldt_utils.views.list_ldt")) else: - return HttpResponse(simplejson.dumps({'res':True, 'ldt': {'id': ldt.id, 'state':ldt.state,'ldt_id': ldt.ldt_id}}, ensure_ascii=False),mimetype='application/json') + return HttpResponse(simplejson.dumps({'res':True, 'ldt': {'id': ldt.id, 'state':ldt.state, 'ldt_id': ldt.ldt_id}}, ensure_ascii=False), mimetype='application/json') def index(request, url): - urlStr = settings.WEB_URL + reverse("ldt_init", args=['ldt',url]) + urlStr = settings.WEB_URL + reverse("ldt_init", args=['ldt', url]) language_code = request.LANGUAGE_CODE[:2] - return render_to_response('ldt/ldt_utils/init_ldt.html', {'LDT_MEDIA_PREFIX': settings.LDT_MEDIA_PREFIX, 'colorurl': settings.LDT_MEDIA_PREFIX+'swf/ldt/pkg/color.xml', 'i18nurl': settings.LDT_MEDIA_PREFIX+'swf/ldt/pkg/i18n', 'language': language_code, 'baseurl': settings.LDT_MEDIA_PREFIX+'swf/ldt/', 'url': urlStr, 'weburl':settings.WEB_URL+settings.BASE_URL}, context_instance=RequestContext(request)) + return render_to_response('ldt/ldt_utils/init_ldt.html', {'LDT_MEDIA_PREFIX': settings.LDT_MEDIA_PREFIX, 'colorurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/pkg/color.xml', 'i18nurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/pkg/i18n', 'language': language_code, 'baseurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/', 'url': urlStr, 'weburl':settings.WEB_URL + settings.BASE_URL}, context_instance=RequestContext(request)) -def ldt(request, url, startSegment = None): +def ldt(request, url, startSegment=None): resp = HttpResponse(mimetype="text/xml; charset=utf-8") resp['Cache-Control'] = 'no-cache' @@ -499,7 +499,7 @@ contentList = Content.objects.filter(iri_id=url) ldtgen = LdtUtils() - ldtgen.generateLdt(contentList, file=resp, title = contentList[0].title, startSegment=startSegment) + ldtgen.generateLdt(contentList, file=resp, title=contentList[0].title, startSegment=startSegment) return resp @@ -516,12 +516,12 @@ if request.method == "POST" : form = AddProjectForm(request.POST) if form.is_valid(): - user=request.user + user = request.user project = Project.create_project(title=form.cleaned_data['title'], user=user, contents=contents) return HttpResponseRedirect(reverse('ldt.ldt_utils.views.indexProject', args=[project.ldt_id])) else: form = AddProjectForm() - return render_to_response('ldt/ldt_utils/create_ldt.html', {'form':form, 'contents':contents, 'create_project_action':reverse("ldt.ldt_utils.views.create_project",args=[iri_id])}, context_instance=RequestContext(request)) + return render_to_response('ldt/ldt_utils/create_ldt.html', {'form':form, 'contents':contents, 'create_project_action':reverse("ldt.ldt_utils.views.create_project", args=[iri_id])}, context_instance=RequestContext(request)) @login_required def update_project(request, ldt_id): @@ -529,38 +529,38 @@ project = get_object_or_404(Project, ldt_id=ldt_id) contents = project.contents.all() if request.method == "POST" : - submit_action = request.REQUEST.get("submit_button",False) + submit_action = request.REQUEST.get("submit_button", False) if submit_action == "prepare_delete": errors = [] if project.state == 2: - errors.append(_("the project %(title)s is published. please unpublish before deleting.")%{'title':project.title}) + errors.append(_("the project %(title)s is published. please unpublish before deleting.") % {'title':project.title}) message = _("can not delete the project. Please correct the following error") - title = _('title error deleting project') + title = _('title error deleting project') else: - message = _("please confirm deleting project %(title)s")%{'title':project.title} + message = _("please confirm deleting project %(title)s") % {'title':project.title} title = _("confirm deletion") return render_to_response('ldt/ldt_utils/error_confirm.html', {'errors':errors, 'message':message, 'title': title}, context_instance=RequestContext(request)) elif submit_action == "delete": if project.state != 2: project.delete() - form_status= 'deleted' + form_status = 'deleted' form = AddProjectForm() else: - form_status= 'saved' + form_status = 'saved' form = AddProjectForm(request.POST) if form.is_valid(): if project.title != form.cleaned_data['title']: - project.title=form.cleaned_data['title'] + project.title = form.cleaned_data['title'] ldt = lxml.etree.fromstring(project.ldt.encode("utf-8")) res = ldt.xpath("/iri/project") - res[0].set("title",project.title) - project.ldt = lxml.etree.tostring(ldt,pretty_print=True) + res[0].set("title", project.title) + project.ldt = lxml.etree.tostring(ldt, pretty_print=True) project.save() else: form = AddProjectForm({'title':unicode(project.title)}) - form_status= 'none' + form_status = 'none' - return render_to_response('ldt/ldt_utils/create_ldt.html', {'form':form, 'form_status':form_status, 'ldt_id': ldt_id, 'contents':contents, 'create_project_action':reverse("ldt.ldt_utils.views.update_project",args=[ldt_id])}, context_instance=RequestContext(request)) + return render_to_response('ldt/ldt_utils/create_ldt.html', {'form':form, 'form_status':form_status, 'ldt_id': ldt_id, 'contents':contents, 'create_project_action':reverse("ldt.ldt_utils.views.update_project", args=[ldt_id])}, context_instance=RequestContext(request)) @login_required @@ -570,7 +570,7 @@ if request.method == "POST" : form = CopyProjectForm(request.POST) if form.is_valid(): - user=request.user + user = request.user project = project.copy_project(title=request.POST['title'], user=user) return HttpResponseRedirect(reverse('ldt.ldt_utils.views.indexProject', args=[project.ldt_id])) else: @@ -583,17 +583,17 @@ if iri_id: instance_content = Content.objects.get(iri_id=iri_id) instance_media = instance_content.media_obj - logging.debug("write_content_base : valid form: for instance : media -> " + repr(instance_media) + " content : for instance : " + repr(instance_content) ) + logging.debug("write_content_base : valid form: for instance : media -> " + repr(instance_media) + " content : for instance : " + repr(instance_content)) else: logging.debug("No iri_id") instance_content = None instance_media = None - form_status= 'none' - if request.method =="POST": + form_status = 'none' + if request.method == "POST": if instance_content is not None: - content_instance_val = model_to_dict(instance_content,exclude=ContentForm.Meta.exclude) + content_instance_val = model_to_dict(instance_content, exclude=ContentForm.Meta.exclude) else: content_instance_val = {} @@ -604,7 +604,7 @@ #add prefix def add_prefix(dict, prefix): - for key,value in dict.items(): + for key, value in dict.items(): dict['%s-%s' % (prefix, key)] = value del(dict[key]) @@ -622,7 +622,7 @@ media_valid = media_form.is_valid() content_valid = content_form.is_valid() - logging.debug("write_content_base : valid form: for instance : " + repr(instance_media) + " -> media " + str(media_valid) +" content : for instance : " + repr(instance_content) + " : " + str(content_valid) ) + logging.debug("write_content_base : valid form: for instance : " + repr(instance_media) + " -> media " + str(media_valid) + " content : for instance : " + repr(instance_content) + " : " + str(content_valid)) if media_valid and content_valid : @@ -667,10 +667,10 @@ extension = "" base_basename_filename = base_source_filename else: - base_basename_filename = base_source_filename[:-1 *(len(extension)+1)] + base_basename_filename = base_source_filename[:-1 * (len(extension) + 1)] i = 0 while os.path.exists(destination_filepath): - base_source_filename = "%s.%d.%s" % (base_basename_filename,i,extension) + base_source_filename = "%s.%d.%s" % (base_basename_filename, i, extension) destination_filepath = os.path.join(settings.STREAM_PATH, base_source_filename) i += 1 @@ -679,7 +679,7 @@ if len(src_prefix) > 0: cleaned_data["src"] = src_prefix + "/" + base_source_filename else: - cleaned_data["src"] = base_source_filename + cleaned_data["src"] = base_source_filename chunck = source_file.read(2048) while chunck: @@ -692,7 +692,7 @@ #set error for form if media_input_type == "url": errors = media_form._errors.setdefault("external_src_url", ErrorList()) - errors.append(_("Problem when downloading file from url : ")+str(inst)) + errors.append(_("Problem when downloading file from url : ") + str(inst)) elif media_input_type == "upload": errors = media_form._errors.setdefault("media_file", ErrorList()) errors.append(_("Problem when uploading file : ") + str(inst)) @@ -730,7 +730,7 @@ content_defaults.update(content_form.cleaned_data) content_defaults['media_obj'] = media del content_defaults["media_input_type"] - content, created = Content.objects.get_or_create(iri_id = content_form.cleaned_data['iri_id'], defaults = content_defaults) + content, created = Content.objects.get_or_create(iri_id=content_form.cleaned_data['iri_id'], defaults=content_defaults) if not created: for attribute in ('iriurl', 'title', 'description', 'duration', 'content_creation_date', 'tags', 'media_obj'): @@ -749,7 +749,7 @@ form_status = 'empty' initial = { 'media_input_type':"link"} - content_form = ContentForm(prefix="content", instance=instance_content, initial = initial ) + content_form = ContentForm(prefix="content", instance=instance_content, initial=initial) media_form = MediaForm(prefix="media", instance=instance_media) if instance_content is not None: @@ -760,7 +760,7 @@ @login_required def write_content(request, iri_id=None): - submit_action = request.REQUEST.get("submit_button",False) + submit_action = request.REQUEST.get("submit_button", False) if submit_action == "prepare_delete": errors, titles = prepare_delete_content(request, iri_id) @@ -780,11 +780,11 @@ content_form, media_form, form_status = write_content_base(request, iri_id) if iri_id: - create_content_action = reverse('ldt.ldt_utils.views.write_content', kwargs={'iri_id':iri_id}) + create_content_action = reverse('ldt.ldt_utils.views.write_content', kwargs={'iri_id':iri_id}) else: - create_content_action = reverse('ldt.ldt_utils.views.write_content') + create_content_action = reverse('ldt.ldt_utils.views.write_content') - return render_to_response('ldt/ldt_utils/create_content.html', {'content_form': content_form, 'media_form': media_form,'form_status': form_status,'create_content_action': create_content_action, 'iri_id': iri_id}, context_instance=RequestContext(request)) + return render_to_response('ldt/ldt_utils/create_content.html', {'content_form': content_form, 'media_form': media_form, 'form_status': form_status, 'create_content_action': create_content_action, 'iri_id': iri_id}, context_instance=RequestContext(request)) @login_required def prepare_delete_content(request, iri_id=None): @@ -800,7 +800,7 @@ projects_nb = len(projects) if projects_nb > 0: project_titles = map(lambda p: unicode(p.title), projects) - errors.append(ungettext("Content '%(title)s' is referenced by this project : %(project_titles)s. Please delete it beforehand.", "Content '%(title)s' is referenced by %(count)d projects: %(project_titles)s. Please delete them beforehand.", projects_nb)%{'title':unicode(content.title),'count':projects_nb, 'project_titles': ",".join(project_titles)}) + errors.append(ungettext("Content '%(title)s' is referenced by this project : %(project_titles)s. Please delete it beforehand.", "Content '%(title)s' is referenced by %(count)d projects: %(project_titles)s. Please delete them beforehand.", projects_nb) % {'title':unicode(content.title), 'count':projects_nb, 'project_titles': ",".join(project_titles)}) return errors, titles diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/management/__init__.py --- a/src/ldt/ldt/management/__init__.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/management/__init__.py Sat Jan 29 06:46:14 2011 +0100 @@ -23,7 +23,7 @@ try: owner = Owner.objects.get(user=instance) except ObjectDoesNotExist: - owner=Owner(user=instance) + owner = Owner(user=instance) owner.save() signals.post_save.connect(post_save_user, User) @@ -33,7 +33,7 @@ try: owner = Owner.objects.get(group=instance) except ObjectDoesNotExist: - owner=Owner(group=instance) + owner = Owner(group=instance) owner.save() signals.post_save.connect(post_save_group, Group) diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/media/img/favicon.ico Binary file src/ldt/ldt/media/img/favicon.ico has changed diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/settings.py --- a/src/ldt/ldt/settings.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/settings.py Sat Jan 29 06:46:14 2011 +0100 @@ -39,7 +39,7 @@ 'jogging.middleware.LoggingMiddleware', ) -TEMPLATE_CONTEXT_PROCESSORS = ( +TEMPLATE_CONTEXT_PROCESSORS = ( "django.core.context_processors.request", "django.core.context_processors.auth", "django.core.context_processors.debug", @@ -62,7 +62,7 @@ MANAGERS = settings.MANAGERS INSTALLED_APPS = settings.INSTALLED_APPS LANGUAGES = settings.LANGUAGES -DECOUPAGE_BLACKLIST =getattr(settings, 'DECOUPAGE_BLACKLIST', 'de_PPP') +DECOUPAGE_BLACKLIST = getattr(settings, 'DECOUPAGE_BLACKLIST', 'de_PPP') STREAM_URL = getattr(settings, 'STREAM_URL', '') STREAM_PATH = getattr(settings, 'STREAM_PATH', '') STREAM_SRC_PREFIX = getattr(settings, 'STREAM_SRC_PREFIX', '') @@ -74,8 +74,8 @@ GLOBAL_LOG_HANDLERS = [logging.FileHandler(LOG_FILE)] -ACCOUNT_ACTIVATION_DAYS = getattr(settings, 'ACCOUNT_ACTIVATION_DAYS', 7) -LDT_MEDIA_PREFIX = getattr(settings, 'LDT_MEDIA_PREFIX', MEDIA_URL + 'ldt/') +ACCOUNT_ACTIVATION_DAYS = getattr(settings, 'ACCOUNT_ACTIVATION_DAYS', 7) +LDT_MEDIA_PREFIX = getattr(settings, 'LDT_MEDIA_PREFIX', MEDIA_URL + 'ldt/') LDT_MAX_SEARCH_NUMBER = 50 LDT_JSON_DEFAULT_INDENT = 2 diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/templatetags/__init__.py --- a/src/ldt/ldt/templatetags/__init__.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/templatetags/__init__.py Sat Jan 29 06:46:14 2011 +0100 @@ -0,0 +1,1 @@ + diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/templatetags/navigation.py --- a/src/ldt/ldt/templatetags/navigation.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/templatetags/navigation.py Sat Jan 29 06:46:14 2011 +0100 @@ -16,4 +16,4 @@ if re.search(pattern, request.path): return css_class - return '' \ No newline at end of file + return '' diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/user/__init__.py --- a/src/ldt/ldt/user/__init__.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/user/__init__.py Sat Jan 29 06:46:14 2011 +0100 @@ -0,0 +1,1 @@ + diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/user/admin.py --- a/src/ldt/ldt/user/admin.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/user/admin.py Sat Jan 29 06:46:14 2011 +0100 @@ -1,12 +1,10 @@ +from copy import deepcopy #@UnresolvedImport from django.contrib import admin -from django.contrib.auth.admin import UserAdmin, GroupAdmin +from django.contrib.auth.admin import UserAdmin from django.utils.translation import ugettext as _ -from ldt import settings -from copy import deepcopy from forms import ldtForm, IriGroupForm from models import ldt, IriGroup - class ldtAdmin(UserAdmin): list_display = ('username', 'email', 'first_name', 'last_name') @@ -14,7 +12,7 @@ (None, {'fields': ('username', ('password1', 'password2'))}), (_('User details'), {'fields': (('first_name', 'last_name'), 'email')}), (_('Groups'), {'fields': ('groups',)}), - (_('Permissions'), {'fields': ('is_staff', 'user_permissions')}), + (_('Permissions'), {'fields': ('is_staff', 'user_permissions')}), ] form = ldtForm model = ldt diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/user/forms.py --- a/src/ldt/ldt/user/forms.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/user/forms.py Sat Jan 29 06:46:14 2011 +0100 @@ -19,12 +19,12 @@ if instance: initial = initial or {} - super(ldtForm, self).__init__(data, files, auto_id, prefix, + super(ldtForm, self).__init__(data, files, auto_id, prefix, initial, error_class, label_suffix, empty_permitted, instance) # filtre les permissions necessaires content_type_list = get_content_type_list() - self.fields['user_permissions'].queryset = Permission.objects.filter(content_type__in = content_type_list) + self.fields['user_permissions'].queryset = Permission.objects.filter(content_type__in=content_type_list) if instance: self.fields['password1'].required = False @@ -67,12 +67,12 @@ if instance: initial = initial or {} - super(IriGroupForm, self).__init__(data, files, auto_id, prefix, + super(IriGroupForm, self).__init__(data, files, auto_id, prefix, initial, error_class, label_suffix, empty_permitted, instance) # filtre les permissions necessaires content_type_list = get_content_type_list() - self.fields['permissions'].queryset = Permission.objects.filter(content_type__in = content_type_list) + self.fields['permissions'].queryset = Permission.objects.filter(content_type__in=content_type_list) class EmailChangeForm(forms.Form): email1 = forms.EmailField(label=_("E-mail"), max_length=75) @@ -92,7 +92,7 @@ def save(self): - self.user.email=self.cleaned_data['email1'] + self.user.email = self.cleaned_data['email1'] self.user.save() return self.user diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/user/templatetags/__init__.py --- a/src/ldt/ldt/user/templatetags/__init__.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/user/templatetags/__init__.py Sat Jan 29 06:46:14 2011 +0100 @@ -0,0 +1,1 @@ + diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/user/urls.py --- a/src/ldt/ldt/user/urls.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/user/urls.py Sat Jan 29 06:46:14 2011 +0100 @@ -1,7 +1,7 @@ -from django.conf.urls.defaults import * +from django.conf.urls.defaults import patterns, url urlpatterns = patterns('', - url(r'^loginAjax/$', 'ldt.user.views.loginAjax'), + url(r'^loginAjax/$', 'ldt.user.views.loginAjax'), url(r'^profile/', 'ldt.user.views.profile'), url(r'^logout/', 'ldt.user.views.logout_view'), url(r'^space/$', 'ldt.user.views.space'), diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/user/views.py --- a/src/ldt/ldt/user/views.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/user/views.py Sat Jan 29 06:46:14 2011 +0100 @@ -13,7 +13,7 @@ def home(request): - return render_to_response('ldt/user/home.html',context_instance=RequestContext(request)) + return render_to_response('ldt/user/home.html', context_instance=RequestContext(request)) @login_required def profile(request): @@ -23,7 +23,7 @@ def space(request, page_id=None, slug=None): cms = test_cms() ldt = test_ldt() - context={ + context = { 'cms': cms, 'ldt': ldt } @@ -39,21 +39,21 @@ def loginAjax(request, loginstate_template_name='ldt/user/login_form.html'): if request.method == "POST": - username=request.POST["username"] - password=request.POST["password"] + username = request.POST["username"] + password = request.POST["password"] user = authenticate(username=username, password=password) error_message = _(u"Sorry, that's not a valid username or password.") if user is not None: if user.is_active: login(request, user) - context = RequestContext(request, { 'username': user.username,}) + context = RequestContext(request, { 'username': user.username, }) template = loader.get_template(loginstate_template_name) html = template.render(context) - return HttpResponse(simplejson.dumps({'message': u'successful', 'username': user.username, 'html': html, 'reload': request.POST["reload"],})) + return HttpResponse(simplejson.dumps({'message': u'successful', 'username': user.username, 'html': html, 'reload': request.POST["reload"], })) else: - return HttpResponse(simplejson.dumps({'message': error_message,})) + return HttpResponse(simplejson.dumps({'message': error_message, })) else: - return HttpResponse(simplejson.dumps({'message': error_message,})) + return HttpResponse(simplejson.dumps({'message': error_message, })) return render_to_response('ldt/user/login_ajax.html', context_instance=RequestContext(request)) @login_required @@ -67,7 +67,7 @@ return HttpResponseRedirect(post_change_redirect) else: form = EmailChangeForm(request.user) - return render_to_response('ldt/user/change_email.html', {'form': form,}, context_instance=RequestContext(request)) + return render_to_response('ldt/user/change_email.html', {'form': form, }, context_instance=RequestContext(request)) @login_required def change_email_done(request, template_name='ldt/user/change_email_done.html'): diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/utils/__init__.py --- a/src/ldt/ldt/utils/__init__.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/utils/__init__.py Sat Jan 29 06:46:14 2011 +0100 @@ -1,2 +1,2 @@ - \ No newline at end of file + diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/utils/path.py --- a/src/ldt/ldt/utils/path.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/utils/path.py Sat Jan 29 06:46:14 2011 +0100 @@ -10,5 +10,5 @@ def sanitize_filename(filename): cleanedFilename = unicodedata.normalize('NFKD', filename).encode('ASCII', 'ignore').lower() - return ''.join(c for c in cleanedFilename if c in validFilenameChars).replace(' ','_') - \ No newline at end of file + return ''.join(c for c in cleanedFilename if c in validFilenameChars).replace(' ', '_') + diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/utils/xml.py --- a/src/ldt/ldt/utils/xml.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/utils/xml.py Sat Jan 29 06:46:14 2011 +0100 @@ -4,4 +4,4 @@ for node in nodelist: if node.nodeType == node.TEXT_NODE: rc = rc + node.data - return rc \ No newline at end of file + return rc diff -r b1390453f87a -r 97ab7b3191cf src/ldt/ldt/utils/zipfileext.py --- a/src/ldt/ldt/utils/zipfileext.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/ldt/utils/zipfileext.py Sat Jan 29 06:46:14 2011 +0100 @@ -6,9 +6,9 @@ os.mkdir(dir, 0777) for name in self.namelist(): if name.endswith('/'): - os.mkdir(os.path.join(dir,name)) + os.mkdir(os.path.join(dir, name)) else: - outfile = open(os.path.join(dir,name), 'wb') + outfile = open(os.path.join(dir, name), 'wb') outfile.write(self.read(name)) outfile.close() diff -r b1390453f87a -r 97ab7b3191cf src/ldt/setup.py --- a/src/ldt/setup.py Fri Jan 28 21:33:43 2011 +0100 +++ b/src/ldt/setup.py Sat Jan 29 06:46:14 2011 +0100 @@ -32,12 +32,12 @@ data_files.append([dirpath, [os.path.join(dirpath, f) for f in filenames]]) setup( - name = 'Ldt', - version = version, - author = 'Yves-Marie Haussonne (IRI)', - author_email = 'contact@iri.centrepompidou.fr', - packages = packages, - data_files = data_files, + name='Ldt', + version=version, + author='Yves-Marie Haussonne (IRI)', + author_email='contact@iri.centrepompidou.fr', + packages=packages, + data_files=data_files, # package_data = { # '': [ # 'media/*', @@ -47,13 +47,13 @@ # 'templates/cms/admin/cms/page/*.html', # ] # }, - scripts =[], - url = 'https://www.iri.centrepompidou.fr/dev/hg/platform', - license = 'LICENSE.txt', - description = 'Platform ldt', - long_description = open('README.txt').read(), - zip_safe = False, - classifiers = ['Development Status :: 5 - Production/Stable', + scripts=[], + url='https://www.iri.centrepompidou.fr/dev/hg/platform', + license='LICENSE.txt', + description='Platform ldt', + long_description=open('README.txt').read(), + zip_safe=False, + classifiers=['Development Status :: 5 - Production/Stable', 'Environment :: Web Environment', 'Framework :: Django', 'Intended Audience :: Developers', diff -r b1390453f87a -r 97ab7b3191cf virtualenv/web/create_python_env.py --- a/virtualenv/web/create_python_env.py Fri Jan 28 21:33:43 2011 +0100 +++ b/virtualenv/web/create_python_env.py Sat Jan 29 06:46:14 2011 +0100 @@ -49,6 +49,7 @@ EXTRA_TEXT += " 'DJANGO-EXTENSIONS' : { 'setup': 'django-extensions', 'url':'https://github.com/django-extensions/django-extensions/tarball/0.6', 'local':'"+ os.path.abspath(os.path.join(src_base,"django-extensions-0.6.tar.gz"))+"' },\n" EXTRA_TEXT += " 'DJANGO-REGISTRATION' : { 'setup': 'django-registration', 'url':'http://bitbucket.org/ubernostrum/django-registration/get/tip.tar.gz', 'local':'"+ os.path.abspath(os.path.join(src_base,"django-registration.tar.gz"))+"' },\n" EXTRA_TEXT += " 'DJANGO-TAGGING' : { 'setup': 'django-tagging', 'url':'http://django-tagging.googlecode.com/files/django-tagging-0.3.1.tar.gz', 'local':'"+ os.path.abspath(os.path.join(src_base,"django-tagging-0.3.1.tar.gz"))+"' },\n" +EXTRA_TEXT += " 'DJANGO-PISTON' : { 'setup': 'django-piston', 'url':'http://bitbucket.org/jespern/django-piston/downloads/django-piston-0.2.2.tar.gz', 'local':'"+ os.path.abspath(os.path.join(src_base,"django-piston-0.2.2.tar.gz"))+"' },\n" EXTRA_TEXT += " 'LXML' : { 'setup': 'lxml', 'url': '"+ os.path.abspath(os.path.join(src_base,"lxml_2.2.8.tar.gz"))+"', 'local': '"+ os.path.abspath(os.path.join(src_base,"lxml-2.2.8.tar.gz"))+"'},\n" EXTRA_TEXT += "}\n" @@ -210,6 +211,7 @@ ('DJANGO-EXTENSIONS', 'pip', None, None), ('DJANGO-REGISTRATION', 'easy_install', '-Z', None), ('DJANGO-TAGGING', 'pip', None, None), + ('DJANGO-PISTON', 'pip', None, None), ] if system_str == "Darwin": diff -r b1390453f87a -r 97ab7b3191cf virtualenv/web/res/src/django-piston-0.2.2.tar.gz Binary file virtualenv/web/res/src/django-piston-0.2.2.tar.gz has changed diff -r b1390453f87a -r 97ab7b3191cf web/ldtplatform/urls.py --- a/web/ldtplatform/urls.py Fri Jan 28 21:33:43 2011 +0100 +++ b/web/ldtplatform/urls.py Sat Jan 29 06:46:14 2011 +0100 @@ -1,4 +1,4 @@ -from django.conf.urls.defaults import patterns ,include, url +from django.conf.urls.defaults import patterns ,include from django.contrib import admin @@ -18,6 +18,7 @@ (r'^ldt/', include('ldt.ldt_utils.urls')), (r'^user/', include('ldt.user.urls')), + (r'^api/', include('ldt.api.urls')), (r'^accounts/', include('registration.backends.simple.urls')), diff -r b1390453f87a -r 97ab7b3191cf web/static/ldt/img/favicon.ico Binary file web/static/ldt/img/favicon.ico has changed