[extensions-web] Add a new file list view
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [extensions-web] Add a new file list view
- Date: Tue, 15 Nov 2011 02:26:41 +0000 (UTC)
commit 7e0e4e67dde6f2e8377b2a323513fdb866737c5a
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Mon Nov 14 17:18:46 2011 -0500
Add a new file list view
sweettooth/review/urls.py | 1 +
sweettooth/review/views.py | 24 ++++++++++++++++++++++++
2 files changed, 25 insertions(+), 0 deletions(-)
---
diff --git a/sweettooth/review/urls.py b/sweettooth/review/urls.py
index 2dd0b7f..2ef6c17 100644
--- a/sweettooth/review/urls.py
+++ b/sweettooth/review/urls.py
@@ -11,6 +11,7 @@ urlpatterns = patterns('',
template_name='review/list.html'),
name='review-list'),
url(r'^ajax/get-files/(?P<pk>\d+)', views.ajax_get_files_view, name='review-ajax-files'),
+ url(r'^ajax/get-file-list/(?P<pk>\d+)', views.ajax_get_file_list_view, name='review-ajax-file-list'),
url(r'^submit/(?P<pk>\d+)', views.submit_review_view, name='review-submit'),
url(r'^(?P<pk>\d+)', views.review_version_view, name='review-version'),
diff --git a/sweettooth/review/views.py b/sweettooth/review/views.py
index 2fb5717..0794a36 100644
--- a/sweettooth/review/views.py
+++ b/sweettooth/review/views.py
@@ -81,6 +81,30 @@ def html_for_file(filename, raw):
@ajax_view
@model_view(models.ExtensionVersion)
+def ajax_get_file_list_view(request, obj):
+ version, extension = obj, obj.extension
+
+ if not can_review_extension(request.user, extension):
+ return HttpResponseForbidden()
+
+ version, extension = obj, obj.extension
+
+ new_zipfile = version.get_zipfile('r')
+ old_zipfile = extension.latest_version.get_zipfile('r')
+
+ new_filelist = set(new_zipfile.namelist())
+ old_filelist = set(old_zipfile.namelist())
+
+ both = new_filelist & old_filelist
+ added = new_filelist - old_filelist
+ deleted = old_filelist - new_filelist
+
+ return dict(both=sorted(both),
+ added=sorted(added),
+ deleted=sorted(deleted))
+
+ ajax_view
+ model_view(models.ExtensionVersion)
def ajax_get_files_view(request, obj):
if not can_review_extension(request.user, obj.extension):
return HttpResponseForbidden()
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]