summaryrefslogtreecommitdiff
path: root/patchtracker
diff options
context:
space:
mode:
Diffstat (limited to 'patchtracker')
-rw-r--r--patchtracker/models.py7
-rw-r--r--patchtracker/urls.py8
-rw-r--r--patchtracker/views.py21
3 files changed, 35 insertions, 1 deletions
diff --git a/patchtracker/models.py b/patchtracker/models.py
index 12bd76a..0fb997d 100644
--- a/patchtracker/models.py
+++ b/patchtracker/models.py
@@ -15,6 +15,13 @@ class SourcePackage (models.Model):
maintainer = models.CharField(max_length=1024)
uploaders = models.CharField(max_length=4096, null=True, blank=True)
+ def type( self ):
+ """ Source package "type". Not incredibly useful, i guess... """
+ if self.diffgz_name or self.debtar_name:
+ return "Debian-diff"
+ else:
+ return "Native"
+
def __unicode__( self ):
return "%s (%s)"%(self.name, self.version)
diff --git a/patchtracker/urls.py b/patchtracker/urls.py
new file mode 100644
index 0000000..422a2a1
--- /dev/null
+++ b/patchtracker/urls.py
@@ -0,0 +1,8 @@
+from django.conf.urls.defaults import *
+import views
+
+urlpatterns = patterns('',
+ url(r'^package/(?P<package>\w+)/(?P<version>[^/]+)$',
+ views.package_vers,
+ name='user_profile')
+ )
diff --git a/patchtracker/views.py b/patchtracker/views.py
index 60f00ef..e24ba1b 100644
--- a/patchtracker/views.py
+++ b/patchtracker/views.py
@@ -1 +1,20 @@
-# Create your views here.
+import os
+
+import django.template
+import django.shortcuts
+
+import models
+import DiffGzHandler
+import Conf
+
+def package_vers(request, package, version):
+ pkg = models.SourcePackage.objects.get( name=package, version=version )
+ ctx = django.template.RequestContext(request)
+ tmpl = 'package_vers.html'
+ diffhandler = None
+ if pkg.diffgz_name:
+ dgz = os.sep.join([Conf.archive_root, pkg.loc, pkg.diffgz_name])
+ diffhandler = DiffGzHandler.DiffGzHandler(dgz)
+ extra = { 'pkg':pkg, 'ctx':ctx, 'conf':Conf, 'diffhandler':diffhandler }
+ return django.shortcuts.render_to_response(tmpl, extra, context_instance=ctx)
+