On 21.02.2010, at 15:20, has wrote: Thanks! I made working examples for both, but I guess the first has AppleScript limitations like requiring a UI context.
> mactypes.Alias doesn't provide flatten/unflatten APIs, but it's just a > wrapper around aem.ae.AEDesc, which does. import base64 import mactypes, aem # Raises ValueError. alias = mactypes.Alias("/Users/towb/test") data = alias.desc.flatten() string = base64.b64encode(data) # Now store, move and rename file, load back. data = buffer(base64.b64decode(string)) # aem.ae.MacOSError -50 if bad. desc = aem.ae.unflattendesc(data) # makewithdesc does not raise. alias = mactypes.Alias.makewithdesc(desc) # aem.ae.MacOSError -43 if lost. print alias.path > NSURL has a 'bookmark' feature in 10.6+. import base64 from Foundation import * url = NSURL.fileURLWithPath_("/Users/towb/test") data = url.bookmarkDataWithOptions_includingResourceValuesForKeys_relativeToURL_error_( 0, None, None, None) if not data: raise IOError("file not found") string = base64.b64encode(data) # Now store, move and rename file, load back. data = buffer(base64.b64decode(string)) url = NSURL.URLByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_( data, (1 << 8), None, None, None) # Named constants don't work? if not url: raise StandardError("bad or lost") print url.path() _______________________________________________ Pythonmac-SIG maillist - Pythonmac-SIG@python.org http://mail.python.org/mailman/listinfo/pythonmac-sig unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG