Mercurial > p > roundup > code
comparison roundup/scripts/roundup_server.py @ 3205:dbd6ba721943
if there is only one tracker, redirect from trackers list to the tracker
| author | Alexander Smishlajev <a1s@users.sourceforge.net> |
|---|---|
| date | Sat, 19 Feb 2005 10:21:32 +0000 |
| parents | a7657b3cd22a |
| children | 3084b07ec266 |
comparison
equal
deleted
inserted
replaced
| 3203:eddcfee2cc19 | 3205:dbd6ba721943 |
|---|---|
| 15 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. | 15 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. |
| 16 # | 16 # |
| 17 | 17 |
| 18 """Command-line script that runs a server over roundup.cgi.client. | 18 """Command-line script that runs a server over roundup.cgi.client. |
| 19 | 19 |
| 20 $Id: roundup_server.py,v 1.76 2005-01-15 06:56:38 richard Exp $ | 20 $Id: roundup_server.py,v 1.77 2005-02-19 10:21:32 a1s Exp $ |
| 21 """ | 21 """ |
| 22 __docformat__ = 'restructuredtext' | 22 __docformat__ = 'restructuredtext' |
| 23 | 23 |
| 24 import errno, cgi, getopt, os, socket, sys, traceback, urllib | 24 import errno, cgi, getopt, os, socket, sys, traceback, urllib |
| 25 import ConfigParser, BaseHTTPServer, SocketServer, StringIO | 25 import ConfigParser, BaseHTTPServer, SocketServer, StringIO |
| 131 do_GET = do_POST = do_HEAD = run_cgi | 131 do_GET = do_POST = do_HEAD = run_cgi |
| 132 | 132 |
| 133 def index(self): | 133 def index(self): |
| 134 ''' Print up an index of the available trackers | 134 ''' Print up an index of the available trackers |
| 135 ''' | 135 ''' |
| 136 self.send_response(200) | 136 keys = self.TRACKER_HOMES.keys() |
| 137 if len(keys) == 1: | |
| 138 self.send_response(302) | |
| 139 self.send_header('Location', urllib.quote(keys[0]) + '/index') | |
| 140 else: | |
| 141 self.send_response(200) | |
| 137 self.send_header('Content-Type', 'text/html') | 142 self.send_header('Content-Type', 'text/html') |
| 138 self.end_headers() | 143 self.end_headers() |
| 139 w = self.wfile.write | 144 w = self.wfile.write |
| 140 w(_('<html><head><title>Roundup trackers index</title></head>\n' | 145 w(_('<html><head><title>Roundup trackers index</title></head>\n' |
| 141 '<body><h1>Roundup trackers index</h1><ol>\n')) | 146 '<body><h1>Roundup trackers index</h1><ol>\n')) |
| 142 keys = self.TRACKER_HOMES.keys() | |
| 143 keys.sort() | 147 keys.sort() |
| 144 for tracker in keys: | 148 for tracker in keys: |
| 145 w('<li><a href="%(tracker_url)s/index">%(tracker_name)s</a>\n'%{ | 149 w('<li><a href="%(tracker_url)s/index">%(tracker_name)s</a>\n'%{ |
| 146 'tracker_url': urllib.quote(tracker), | 150 'tracker_url': urllib.quote(tracker), |
| 147 'tracker_name': cgi.escape(tracker)}) | 151 'tracker_name': cgi.escape(tracker)}) |
