I have zero Windows programming experience and also no experience
manipulating paths containing non-ASCII characters.  A Windows user of Task
Coach (which uses the lockfile module) is getting a traceback in this code:

     self.unique_name = os.path.join(dirname,
                                            "%s.%s%s" % (self.hostname,
                                                         tname,
                                                         self.pid))

raising a UnicodeDecodeError:

    UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 3: 
ordinal not in range(128)

on a WIndows system when the hostname contains non-ASCII data.  (All the
other elements involved in the os.path.join call are ASCII or numbers.)

I can't reproduce this on my Mac in the obvious way:

    >>> h = u'\u00ef'
    >>> n = "abc"
    >>> p = 123
    >>> os.path.join("c:/temp", "%s.%s.%s" % (h, n, p))
    u'c:/temp/\xef.abc.123'

so I don't know how to fix what appears not to be broke or how to test it
once I do.  I tried the above code snippet on my Mac using a number of
different versions, including CVS trunk, Python 2.5.4 and 2.4.5 from
MacPorts and Apple's /usr/bin/python (2.5.1).  All worked just fine.

The full text of the problem is in the nascent lockfile issue tracker on
bitbucket:

    http://bitbucket.org/smontanaro/lockfile/issue/1/

Frank Niessink, the author of Task Coach, who reported the problem, seems
not to be able to reproduce it in his Windows environment either, though in
further exchanges with his user Frank reported that if she changed the name
of her computer to not contain accented characters lockfile worked for her.
Task Coach comes with an embedded copy of Python 2.5.1.  Can anyone here
shed some light on what the problem might be?

Thanks,

-- 
Skip Montanaro - s...@pobox.com - http://www.smontanaro.net/
    Getting old sucks, but it beats dying young
_______________________________________________
python-win32 mailing list
python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32

Reply via email to