summaryrefslogtreecommitdiff
path: root/patchtracker
diff options
context:
space:
mode:
Diffstat (limited to 'patchtracker')
-rw-r--r--patchtracker/urls.py4
-rw-r--r--patchtracker/views.py28
2 files changed, 32 insertions, 0 deletions
diff --git a/patchtracker/urls.py b/patchtracker/urls.py
index 23992f4..9738dc5 100644
--- a/patchtracker/urls.py
+++ b/patchtracker/urls.py
@@ -8,4 +8,8 @@ urlpatterns = patterns('',
views.download_series_patch),
url(r'^patch/series/view/(?P<package>\w+)/(?P<version>[^/]+)/(?P<patch>[^/]*)$',
views.view_series_patch),
+ url(r'^patch/debianonly/dl/(?P<package>\w+)/(?P<version>[^/]+)$',
+ views.download_debianonly_patch),
+ url(r'^patch/debianonly/view/(?P<package>\w+)/(?P<version>[^/]+)$',
+ views.view_debianonly_patch),
)
diff --git a/patchtracker/views.py b/patchtracker/views.py
index eac4e89..3ac95e4 100644
--- a/patchtracker/views.py
+++ b/patchtracker/views.py
@@ -47,3 +47,31 @@ def view_series_patch(request, package, version, patch):
extra = { 'pkg':pkg, 'patch':patch, 'patchContents':patchContents,
'patchType':'series', 'conf':Conf }
return django.shortcuts.render_to_response(tmpl, extra, context_instance=ctx)
+
+def download_debianonly_patch(request, package, version):
+ pkg = models.SourcePackage.objects.get( name=package, version=version )
+ diffhandler = None
+ if pkg.diffgz_name:
+ dgz = os.sep.join([Conf.archive_root, pkg.loc, pkg.diffgz_name])
+ diffhandler = DiffGzHandler.DiffGzHandler(dgz)
+ elif pkg.debtar_name:
+ dtar = os.sep.join([Conf.archive_root, pkg.loc, pkg.debtar_name])
+ diffhandler = DebTarHandler(dtar)
+ patchContents = diffhandler.debiandir()
+ return django.http.HttpResponse(patchContents, mimetype="text/plain")
+
+def view_debianonly_patch(request, package, version):
+ pkg = models.SourcePackage.objects.get( name=package, version=version )
+ ctx = django.template.RequestContext(request)
+ tmpl = 'patch_view.html'
+ diffhandler = None
+ if pkg.diffgz_name:
+ dgz = os.sep.join([Conf.archive_root, pkg.loc, pkg.diffgz_name])
+ diffhandler = DiffGzHandler.DiffGzHandler(dgz)
+ elif pkg.debtar_name:
+ dtar = os.sep.join([Conf.archive_root, pkg.loc, pkg.debtar_name])
+ diffhandler = DebTarHandler(dtar)
+ patchContents = diffhandler.debiandir()
+ extra = { 'pkg':pkg, 'patch':'debian-dir only changes',
+ 'patchContents':patchContents, 'patchType':'series', 'conf':Conf }
+ return django.shortcuts.render_to_response(tmpl, extra, context_instance=ctx)