1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
import os
import django.http
import django.shortcuts
import django.template
import ComplexQueries
import DebTarHandler
import DiffGzHandler
import Conf
import models
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)
elif pkg.debtar_name:
dtar = os.sep.join([Conf.archive_root, pkg.loc, pkg.debtar_name])
diffhandler = DebTarHandler.DebTarHandler(dtar)
extra = { 'pkg':pkg, 'ctx':ctx, 'conf':Conf, 'diffhandler':diffhandler }
return django.shortcuts.render_to_response(tmpl, extra, context_instance=ctx)
def display_toc(request, index):
packageIndex = ComplexQueries.PackageIndex(index)
tmpl = 'letter_toc.html'
extra = { 'index':index, 'packageIndex':packageIndex, 'conf':Conf }
return django.shortcuts.render_to_response(tmpl, extra)
def display_patch(request, patchType, package, version, patchName):
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.DebTarHandler(dtar)
if patchType == "debianonly":
patch = diffhandler.debiandir()
patchTitle = "debian-dir only changes"
elif patchType == "misc":
patch = diffhandler.filterdiff(include=patchName)
patchTitle = patchName
elif patchType == "nondebian":
patch = diffhandler.nondebiandir()
patchTitle = "direct (non-packaging) changes"
elif patchType == "series":
patch = diffhandler.series().fetch(patchName)
patchTitle = patchName
extra = { 'pkg':pkg, 'patch':patch, 'patchType':patchType, 'conf':Conf,
'patchName':patchName, 'patchTitle':patchTitle }
return django.shortcuts.render_to_response(tmpl, extra, context_instance=ctx)
def download_patch(request, patchType, package, version, patchName):
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.DebTarHandler(dtar)
if patchType == "debianonly":
patch = diffhandler.debiandir()
elif patchType == "misc":
patch = diffhandler.filterdiff(include=patchName)
elif patchType == "nondebian":
patch = diffhandler.nondebiandir()
elif patchType == "series":
patch = diffhandler.series().fetch(patchName)
return django.http.HttpResponse(patch, mimetype="text/plain")
|