Path and Unicode woes
André
andre.roberge at gmail.com
Thu Jan 5 20:07:39 EST 2006
I'm attempting to override a wxHtmlWindow method in order to
pre-process the file before displaying it. I'm using a unicode version
of wxPython. I don't think my problem are wxPython-specific, but
rather a unicode mis-understanding. Consider the following:
. def OnLinkClicked(self, linkinfo):
. #adapted from the wxPython demo
. target_file = linkinfo.GetHref()
. current = self.GetOpenedPage()
. path = os.path.dirname(current)
. print "path = ", path
. print "current = ", current
. print "target_file = ", target_file
. filename = os.path.join(path, target_file)
. print "filename = ", filename
. filename = filename.replace('\\','/')
. print "filename: ", filename+'\n'
. self.LoadFile(filename)
The first time I *click* on a link, I get the following:
path = E:/Copy of rurple0.9.0.1b/rurple0.9.0.1/html/en
current = E:/Copy of rurple0.9.0.1b/rurple0.9.0.1/html/en/rur.htm.html
target_file = intro/browser.htm
filename = E:/Copy of
rurple0.9.0.1b/rurple0.9.0.1/html/en\intro/browser.htm
filename: E:/Copy of
rurple0.9.0.1b/rurple0.9.0.1/html/en/intro/browser.htm
... and everything is just fine (the expected file opens in the browser
window). The second time I *click* on a link, I get the following
(note the replacement of "E:" by "/E%3A"):
path = /E%3A/Copy of rurple0.9.0.1b/rurple0.9.0.1/html/en/intro
current = /E%3A/Copy of
rurple0.9.0.1b/rurple0.9.0.1/html/en/intro/browser.htm.html
target_file = explore.htm
filename = /E%3A/Copy of
rurple0.9.0.1b/rurple0.9.0.1/html/en/intro\explore.htm
filename: /E%3A/Copy of
rurple0.9.0.1b/rurple0.9.0.1/html/en/intro/explore.htm
Traceback (most recent call last):
File "E:\Copy of rurple0.9.0.1b\rurple0.9.0.1\rur_py\browser.py",
line 77, in OnLinkClicked
self.LoadFile(filename)
File "E:\Copy of rurple0.9.0.1b\rurple0.9.0.1\rur_py\browser.py",
line 54, in LoadFile
data = open(filename, 'r').read()
IOError: [Errno 2] No such file or directory: u'/E%3A/Copy of
rurple0.9.0.1b/rurple0.9.0.1/html/en/intro/explore.htm'
Any help or pointers would be appreciated...
André
More information about the Python-list
mailing list