summaryrefslogtreecommitdiff
path: root/patchtracker/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'patchtracker/views.py')
-rw-r--r--patchtracker/views.py33
1 files changed, 31 insertions, 2 deletions
diff --git a/patchtracker/views.py b/patchtracker/views.py
index e24ba1b..eac4e89 100644
--- a/patchtracker/views.py
+++ b/patchtracker/views.py
@@ -1,11 +1,13 @@
import os
-import django.template
+import django.http
import django.shortcuts
+import django.template
-import models
+import DebTarHandler
import DiffGzHandler
import Conf
+import models
def package_vers(request, package, version):
pkg = models.SourcePackage.objects.get( name=package, version=version )
@@ -18,3 +20,30 @@ def package_vers(request, package, version):
extra = { 'pkg':pkg, 'ctx':ctx, 'conf':Conf, 'diffhandler':diffhandler }
return django.shortcuts.render_to_response(tmpl, extra, context_instance=ctx)
+def download_series_patch(request, package, version, patch):
+ 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.series().fetch(patch)
+ return django.http.HttpResponse(patchContents, mimetype="text/plain")
+
+def view_series_patch(request, package, version, patch):
+ 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.series().fetch(patch)
+ extra = { 'pkg':pkg, 'patch':patch, 'patchContents':patchContents,
+ 'patchType':'series', 'conf':Conf }
+ return django.shortcuts.render_to_response(tmpl, extra, context_instance=ctx)