[Twisted-Python] Re: client crashed
Rick Graves
gravesricharde at yahoo.com
Sat Jan 13 17:15:01 EST 2007
Andrew,
Thanks for the feedback.
BTW, I am new to twisted but not to python.
> Anyway, there's nothing Twisted specific here that I
can see.
I disagree -- I was trying to make a suggestion that
would make future releases of twisted more
bulletproof.
Specifically, perhaps _parse() should be changed as
follows (4 out of the last 5 lines are different):
def _parse(url, defaultPort=None):
parsed = urlparse.urlparse(url)
scheme = parsed[0]
path = urlparse.urlunparse(('','')+parsed[2:])
if defaultPort is None:
if scheme == 'https':
defaultPort = 443
else:
defaultPort = 80
host, port = parsed[1], defaultPort
if ':' in host:
host, port = host.split(':')
try:
port = int(port)
except ValueError:
port = defaultPort
return scheme, host, port, path
But I will not change the copy of client.py on my
computer. I worked around this problem by making sure
all the URL's were clean before giving them to
twisted.
Going at this from the top down (or bottom up,
depending on your perspective):
lURLs = map( GetCleanURL, lURLs )
def GetCleanURL( sURL ):
#
return UrlUnSplitMore( UrlSplitMore( sURL ) )
UrlUnSplitMore and UrlSplitMore have longer lines
which this mail client would wrap, and the result
would look terrible. In case you are interested, they
are in this plain text file:
http://www.advanced-app.com.hk/MiscJunk/UrlSplitAndUnSplit.txt
Maybe I am making a suggestion to change twisted in
the wrong place. I will try posting my suggested
change as a "bug" -- client.py crashes on a URL that
most browsers clean up automatically with no problem.
Thanks,
Rick
More information about the Twisted-Python
mailing list