summaryrefslogtreecommitdiff
path: root/pagehandler.py
diff options
context:
space:
mode:
Diffstat (limited to 'pagehandler.py')
-rwxr-xr-xpagehandler.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/pagehandler.py b/pagehandler.py
index bbfa428..7ddeac4 100755
--- a/pagehandler.py
+++ b/pagehandler.py
@@ -2,6 +2,7 @@
# -*- coding: utf-8 -*-
import cgi
+import cgitb; cgitb.enable()
import os
import sys
import patchtracker.Conf as Conf
@@ -12,6 +13,7 @@ from patchtracker.DB import PatchTrackerDB
import pygments
from pygments.lexers import DiffLexer
from pygments.formatters import HtmlFormatter
+import patchtracker.SourceArchive as SourceArchive
class CmdHandler:
def __init__(self, uri):
@@ -20,7 +22,7 @@ class CmdHandler:
self.db = PatchTrackerDB()
args = uri[len(Conf.root_url)+1:].split("/")
- print "args:",args
+ #print "args:",args
self.cmd = args[0]
if self.cmd == "patch":
patchtype,mode,pkgname,version = args[1:5]
@@ -54,6 +56,9 @@ class CmdHandler:
else:
self.letter = args[1]
self.toc = self.db.findLetterToc(self.letter)
+ elif self.cmd == "jump":
+ form = cgi.FieldStorage()
+ self.name = form.getfirst("package")
elif not len(self.cmd):
self.index = self.db.findMasterIndex()
self.cmd = "frontpage"
@@ -112,6 +117,11 @@ class CmdHandler:
elif self.cmd == "frontpage":
print "Content-Type: text/html\n\n"
print FrontPageTemplate(self.index)
+ elif self.cmd == "jump":
+ print "Location: http://%s%s/index/%s#%s\n\n"%(os.getenv("HTTP_HOST"),
+ Conf.root_url,
+ SourceArchive.getidx(self.name),
+ self.name)
if __name__ == "__main__":
uri = os.getenv("REQUEST_URI")