2. The Alias
class
The Alias
class represents a persistent reference to a filesystem object. Aliases keep track of filesystem objects even if they're renamed or moved to another location on the same disk.
Methods
Alias -- A persistent reference to a filesystem object. Aliases keep
track of filesystem objects as they're moved around the disk
or renamed. Provides a variety of properties and constructors
for converting to and from other Python types.
Constructors:
Alias(path) -- make Alias object from POSIX path
File.makewithhfspath(path) -- make Alias object from HFS path
Alias.makewithurl(url) -- make Alias object from file URL
Alias.makewithdesc(desc) -- make Alias object from an
AEDesc of typeAlias
Properties:
path : unicode -- POSIX path
hfspath : unicode -- HFS path
url : string -- file URL
file : mactypes.File
alias : mactypes.Alias -- itself
desc : aem.ae.AEDesc
Examples
from appscript import *
from mactypes import *
f = Alias('/Users/foo/some file')
print f
# mactypes.Alias("/Users/foo/some file")
print f.path
# /Users/foo/some file
app('TextEdit').open(f)
# opens document in TextEdit
Alias('/some/non/existent/location')
# ValueError: Can't make mactypes.Alias as file doesn't exist:
# '/some/non/existent/location'
Notes
When creating an Alias
instance, POSIX paths may be either relative or absolute and are automatically normalised using os.path.abspath
. Paths to non-existent filesystem locations will result in a ValueError
being raised.
Note that comparing an Alias
object against a File
object always returns false, even if both point to the same location.
Remember that aliases can change when the corresponding filesystem object is moved, so take care when using Alias
objects in situations that involve comparing or hashing them (e.g. as dict
keys).