X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/b3154a4f81c3a077d8e14ecc5a6826adb60f0548..d8006182f05f235f38fd7ca1c74a808ffac71a31:/apps/explorer/views.py?ds=inline diff --git a/apps/explorer/views.py b/apps/explorer/views.py index 4a78e019..ac83c4ef 100644 --- a/apps/explorer/views.py +++ b/apps/explorer/views.py @@ -1,5 +1,6 @@ from librarian import html -import hg +import hg, urllib2 +from django.utils import simplejson as json from django.views.generic.simple import direct_to_template from django.conf import settings @@ -7,10 +8,8 @@ from django.http import HttpResponseRedirect from explorer import forms, models - repo = hg.Repository(settings.REPOSITORY_PATH) - def file_list(request): return direct_to_template(request, 'explorer/file_list.html', extra_context={ 'objects': repo.all_files(), @@ -22,6 +21,8 @@ def file_xml(request, path): form = forms.BookForm(request.POST) if form.is_valid(): repo.add_file(path, form.cleaned_data['text']) + # issues = _get_issues_for_file(path) + # commit_message = _add_references(form.cleaned_data['commit_message'], issued) repo.commit(message=form.cleaned_data['commit_message'], user=form.cleaned_data['user']) return HttpResponseRedirect(request.get_full_path()) else: @@ -41,10 +42,25 @@ def file_html(request, path): 'hash': path, 'image_folders_form': forms.ImageFoldersForm(), }) - - + def folder_images(request, folder): return direct_to_template(request, 'explorer/folder_images.html', extra_context={ 'images': models.get_images_from_folder(folder), }) +def _add_references(message, issues): + for issue in issues: + message += " refs #%d " % issue.id + return message + +def _get_issues_for_file(path): + if not path.endswith('.xml'): + raise ValueError('Path must end with .xml') + + book_id = path[:-3] + uf = urllib2.urlopen(settings.REDMINE_URL + 'publications/%s/issues' % book_id) + + try: + return json.loads(uf.read()) + finally: + uf.close()