X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/e28d1d03940c2c32cc375667a711ebf94c134fb3..80a2c67a898b06c9c28bda89d7aa012676c2a23a:/apps/explorer/views.py?ds=sidebyside diff --git a/apps/explorer/views.py b/apps/explorer/views.py index ef2a3962..e3ca63a7 100644 --- a/apps/explorer/views.py +++ b/apps/explorer/views.py @@ -22,6 +22,8 @@ from toolbar import models as toolbar_models from django.forms.util import ErrorList +import wlrepo + # # Some useful decorators @@ -36,7 +38,7 @@ def file_path(fileid): def with_repo(view): """Open a repository for this view""" def view_with_repo(request, *args, **kwargs): - kwargs['repo'] = hg.Repository(settings.REPOSITORY_PATH) + kwargs['repo'] = wlrepo.MercurialLibrary(settings.REPOSITORY_PATH) return view(request, *args, **kwargs) return view_with_repo @@ -55,20 +57,11 @@ def ajax_login_required(view): # View all files # @with_repo -def file_list(request, repo): - # - latest_default = repo.get_branch_tip('default') - - fl = [] - for file in repo.repo[latest_default]: - m = re.match(u'^pub_([^/]+).xml$', file.decode('utf-8'), re.UNICODE) - if m is not None: - fl.append(m.group(1)) - - bookform = forms.BookUploadForm() - +def file_list(request, repo): + import api.forms + bookform = api.forms.DocumentUploadForm() return direct_to_template(request, 'explorer/file_list.html', extra_context={ - 'files': fl, 'bookform': bookform, + 'files': repo.documents(), 'bookform': bookform, }) @permission_required('explorer.can_add_files') @@ -476,11 +469,12 @@ def split_text(request, path): print "validating sform" if sform.is_valid(): valid = True - if sform.cleaned_data['autoxml']: - print "validating dcform" - valid = dcform.is_valid() +# if sform.cleaned_data['autoxml']: +# print "validating dcform" +# valid = dcform.is_valid() print "valid is ", valid + if valid: uri = path + '$' + sform.cleaned_data['partname'] child_rpath = file_path(uri) @@ -496,7 +490,7 @@ def split_text(request, path): fulltext = sform.cleaned_data['fulltext'] fulltext = fulltext.replace(u'', - librarian.xinclude_forURI('wlrepo://'+uri) ) + librarian.xinclude_forURI(u'wlrepo://'+uri) ) repo._write_file(rpath, fulltext.encode('utf-8')) @@ -504,7 +498,7 @@ def split_text(request, path): if sform.cleaned_data['autoxml']: # this is a horrible hack - really bi = dcparser.BookInfo.from_element(librarian.DEFAULT_BOOKINFO.to_etree()) - bi.update(dcform.cleaned_data) + bi.update(dcform.data) newtext = librarian.wrap_text(newtext, \ unicode(date.today()), bookinfo=bi ) @@ -516,8 +510,10 @@ def split_text(request, path): if repo.in_branch(split_action, file_branch(path, request.user)): # redirect to success + import urllib + uri = urllib.quote( unicode(uri).encode('utf-8')) return HttpResponseRedirect( reverse('split-success',\ - kwargs={'path': path})+'?child='+uri) + kwargs={'path': path})+'?child='+uri ) else: try: # to read the current DC repo = hg.Repository(settings.REPOSITORY_PATH)