diff options
Diffstat (limited to 'pagehandler.py')
-rwxr-xr-x | pagehandler.py | 12 |
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") |