Commit 8f0e4824 authored by Jim Fulton's avatar Jim Fulton

Checked in some changes that seemed to get lost through a CVS accident.

parent 46471dc9
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
# #
############################################################################## ##############################################################################
__version__='$Revision: 1.9 $'[11:-2] __version__='$Revision: 1.10 $'[11:-2]
import regex, sys, os, string import regex, sys, os, string
from string import lower, atoi, rfind, split, strip, join, upper, find from string import lower, atoi, rfind, split, strip, join, upper, find
...@@ -530,7 +530,8 @@ class HTTPRequest(BaseRequest): ...@@ -530,7 +530,8 @@ class HTTPRequest(BaseRequest):
if server_url[-1:]=='/': server_url=server_url[:-1] if server_url[-1:]=='/': server_url=server_url[:-1]
self.base="%s/%s" % (server_url,b) if b: self.base="%s/%s" % (server_url,b)
else: self.base=server_url
while script[:1]=='/': script=script[1:] while script[:1]=='/': script=script[1:]
if script: script="%s/%s" % (server_url,script) if script: script="%s/%s" % (server_url,script)
else: script=server_url else: script=server_url
...@@ -625,6 +626,7 @@ class HTTPRequest(BaseRequest): ...@@ -625,6 +626,7 @@ class HTTPRequest(BaseRequest):
l=rfind(URL,'/') l=rfind(URL,'/')
if l >= 0: URL=URL[:l] if l >= 0: URL=URL[:l]
else: raise KeyError, key else: raise KeyError, key
if len(URL) < len(self.base) and n > 1: raise KeyError, key
other[key]=URL other[key]=URL
return URL return URL
...@@ -639,14 +641,13 @@ class HTTPRequest(BaseRequest): ...@@ -639,14 +641,13 @@ class HTTPRequest(BaseRequest):
if key[:1]=='B' and BASEmatch(key) >= 0: if key[:1]=='B' and BASEmatch(key) >= 0:
n=ord(key[4])-ord('0') n=ord(key[4])-ord('0')
if n: if n:
if self.environ.get('SCRIPT_NAME',''): n=n-1 if self.environ.get('SCRIPT_NAME',''): n=n-1
if len(self.steps) < n: if len(self.steps) < n:
raise KeyError, key raise KeyError, key
v=self.script v=self.script
while v[-1:]=='/': v=v[:-1] while v[-1:]=='/': v=v[:-1]
v=join([v]+self.steps[:n-1],'/') v=join([v]+self.steps[:n],'/')
else: else:
v=self.base v=self.base
while v[-1:]=='/': v=v[:-1] while v[-1:]=='/': v=v[:-1]
...@@ -693,6 +694,36 @@ class HTTPRequest(BaseRequest): ...@@ -693,6 +694,36 @@ class HTTPRequest(BaseRequest):
return keys.keys() return keys.keys()
def __str__(self):
result="<h3>form</h3><table>"
row='<tr valign="top" align="left"><th>%s</th><td>%s</td></tr>'
for k,v in self.form.items():
result=result + row % (k,v)
result=result+"</table><h3>cookies</h3><table>"
for k,v in self.cookies.items():
result=result + row % (k,v)
result=result+"</table><h3>other</h3><table>"
for k,v in self.other.items():
if k in ('PARENTS','RESPONSE'): continue
result=result + row % (k,v)
for n in "0123456789":
key = "URL%s"%n
try: result=result + row % (key,self[key])
except KeyError: pass
for n in "0123456789":
key = "BASE%s"%n
try: result=result + row % (key,self[key])
except KeyError: pass
result=result+"</table><h3>environ</h3><table>"
for k,v in self.environ.items():
if not hide_key(k):
result=result + row % (k,v)
return result+"</table>"
__repr__=__str__
def _authUserPW(self): def _authUserPW(self):
global base64 global base64
auth=self._auth auth=self._auth
...@@ -809,36 +840,3 @@ def parse_cookie(text, ...@@ -809,36 +840,3 @@ def parse_cookie(text,
if not already_have(name): result[name]=value if not already_have(name): result[name]=value
return apply(parse_cookie,(text[l:],result)) return apply(parse_cookie,(text[l:],result))
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment