From: Lukasz Rekucki Date: Tue, 18 Aug 2009 15:04:10 +0000 (+0200) Subject: Funkcje w django do czytania z redmine'a. Refs #25. X-Git-Url: https://git.mdrn.pl/redakcja.git/commitdiff_plain/d07cf3cca65ebf77b544c698ceb579fd33cb19d0?ds=sidebyside;hp=-c Funkcje w django do czytania z redmine'a. Refs #25. --- d07cf3cca65ebf77b544c698ceb579fd33cb19d0 diff --git a/apps/explorer/forms.py b/apps/explorer/forms.py index fd460ac1..edb7ea6c 100644 --- a/apps/explorer/forms.py +++ b/apps/explorer/forms.py @@ -7,7 +7,6 @@ class BookForm(forms.Form): text = forms.CharField(widget=forms.Textarea) commit_message = forms.CharField() user = forms.CharField() - class ImageFoldersForm(forms.Form): folders = forms.ChoiceField(required=False) diff --git a/apps/explorer/views.py b/apps/explorer/views.py index 4a78e019..90115aaa 100644 --- a/apps/explorer/views.py +++ b/apps/explorer/views.py @@ -1,5 +1,5 @@ from librarian import html -import hg +import hg, urllib2, json from django.views.generic.simple import direct_to_template from django.conf import settings @@ -7,10 +7,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 +20,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 +41,24 @@ 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): + # TODO + pass + +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()