On Mon, Feb 28, 2005 at 06:41:47PM +0000, has wrote: > import Carbon.CF as CF > f = > CF.CFURLCreateFromFileSystemRepresentation('file://localhost/Users/has/', > True)
That's not a filesystem representation (code for "UTF-8 encoded path"). > u'./file://localhost/Users/has' (Where did './' come from?) > print f.toPython() # MacOS.Error: (-192, 'Resource not found') > print f.CFURLGetFSRef() # crashes > print f.CFURLGetFSRef()[1].as_pathname() # MacOS.Error: (-35, 'no such > volume') When CF stuff crashes, you can often get more information by using the debug version of frameworks: % DYLD_IMAGE_SUFFIX="_debug" ipython 2005-02-28 15:34:18.928 python[16198] CFLog (0): Assertions enabled In [1]: import Carbon.CF as CF In [2]: f = CF.CFURLCreateFromFileSystemRepresentation('/Users/nicholas', True) In [3]: f.CFURLGetString().toPython() 2005-02-28 15:34:29.168 python[16198] CFLog (15): CFStringGetCharacters(): string range 0,32 out of bounds (length 31) Out[3]: u'file://localhost/Users/nicholas' In [4]: f.CFURLGetFSRef() zsh: 16198 bus error DYLD_IMAGE_SUFFIX="_debug" ipython [...] In [3]: f.CFURLGetFSRef()[1].as_pathname() DebugAssert: Third Party Client: err == 0 [-43] FSPathMakeRef_GetObjectInfoFailed [line 1670, file Files/HighLevelCalls.c] DebugAssert: Third Party Client: volume != NULL FSMakePath_VolNotFound [line 848, file Files/FilePathUtils.c] DebugAssert: Third Party Client: (tempMapOffset <= (fileLength - kNullMapLength)) exit CheckMapHeaderCommon(), Resource Manager: EOF truncates resource map.[line 195, file Resources/Source/ResourceUtils.c] --------------------------------------------------------------------------- Error Traceback (most recent call last) /Users/nicholas/<console> Error: (-35, 'no such volume') In [4]: f.CFURLGetFSRef()[1] DebugAssert: Third Party Client: err == 0 [-43] FSPathMakeRef_GetObjectInfoFailed [line 1670, file Files/HighLevelCalls.c] Out[4]: <Carbon.File.FSRef object at 0x5756a8> In [5]: f = CF.CFURLCreateFromFileSystemRepresentation('/Users/nicholas/', True) In [6]: f.CFURLGetFSRef()[1].as_pathname() Out[6]: '/Users/nicholas' It's hard to say if the crash is Python's fault or CF's fault, but there's definitely a wrapper bug in there. And it looks like you need the trailing slash; didn't bother to check if that is by design or not. -- Nicholas Riley <[EMAIL PROTECTED]> | <http://www.uiuc.edu/ph/www/njriley> _______________________________________________ Pythonmac-SIG maillist - Pythonmac-SIG@python.org http://mail.python.org/mailman/listinfo/pythonmac-sig