diff options
author | Jack Jansen <jack.jansen@cwi.nl> | 2001-04-07 12:53:45 (GMT) |
---|---|---|
committer | Jack Jansen <jack.jansen@cwi.nl> | 2001-04-07 12:53:45 (GMT) |
commit | 43935128a4791ab533212550f84b59f5b59649d4 (patch) | |
tree | 0b56de82645d40c007a09cd130fdbc2c371081ca /Mac/Contrib | |
parent | 501d90471d9b281692eb021b0f0c71dfe4e62626 (diff) | |
download | cpython-43935128a4791ab533212550f84b59f5b59649d4.zip cpython-43935128a4791ab533212550f84b59f5b59649d4.tar.gz cpython-43935128a4791ab533212550f84b59f5b59649d4.tar.bz2 |
Finally merged morefindertools into findertools.
Diffstat (limited to 'Mac/Contrib')
-rw-r--r-- | Mac/Contrib/morefindertools/morefindertools.py | 708 | ||||
-rw-r--r-- | Mac/Contrib/morefindertools/morefindertoolstest.py | 85 | ||||
-rw-r--r-- | Mac/Contrib/morefindertools/readme.txt | 4 |
3 files changed, 0 insertions, 797 deletions
diff --git a/Mac/Contrib/morefindertools/morefindertools.py b/Mac/Contrib/morefindertools/morefindertools.py deleted file mode 100644 index 8616e5a..0000000 --- a/Mac/Contrib/morefindertools/morefindertools.py +++ /dev/null @@ -1,708 +0,0 @@ -"""Utility routines depending on the finder, -inspired by findertools, but extended. -Most events have been captured from -Lasso Capture AE and than translated to python code. - -IMPORTANT -Note that the processes() function returns different values -depending on the OS version it is running on. On MacOS 9 -the Finder returns the process *names* which can then be -used to find out more about them. On MacOS 8.6 and earlier -the Finder returns a code which does not seem to work. -So bottom line: the processes() stuff does not work on < MacOS9 - -Written by erik@letterror.com -""" - -import Finder_7_0_Suite, Finder_Suite -import AppleEvents -import aetools -import MacOS -import sys -import macfs -import aetypes -from types import * - -__version__ = '1.0' -morefindertoolserror = 'morefindertools Error' - - -SIGNATURE='MACS' - -class Finder(aetools.TalkTo, Finder_Suite.Finder_Suite, Finder_7_0_Suite.Finder_7_0_Suite): - pass - -_finder_talker = None - -def _getfinder(): - """returns basic (recyclable) Finder AE interface object""" - global _finder_talker - if not _finder_talker: - _finder_talker = Finder(SIGNATURE) - _finder_talker.send_flags = ( _finder_talker.send_flags | - AppleEvents.kAECanInteract | AppleEvents.kAECanSwitchLayer) - return _finder_talker - - -#--------------------------------------------------- -# The original findertools -# - -def launch(file): - """Open a file thru the finder. Specify file by name or fsspec""" - finder = _getfinder() - fss = macfs.FSSpec(file) - vRefNum, parID, name = fss.as_tuple() - dir_fss = macfs.FSSpec((vRefNum, parID, '')) - file_alias = fss.NewAlias() - dir_alias = dir_fss.NewAlias() - return finder.open(dir_alias, items=[file_alias]) - -def Print(file): - """Print a file thru the finder. Specify file by name or fsspec""" - finder = _getfinder() - fss = macfs.FSSpec(file) - vRefNum, parID, name = fss.as_tuple() - dir_fss = macfs.FSSpec((vRefNum, parID, '')) - file_alias = fss.NewAlias() - dir_alias = dir_fss.NewAlias() - return finder._print(dir_alias, items=[file_alias]) - -def copy(src, dstdir): - """Copy a file to a folder""" - finder = _getfinder() - src_fss = macfs.FSSpec(src) - dst_fss = macfs.FSSpec(dstdir) - src_alias = src_fss.NewAlias() - dst_alias = dst_fss.NewAlias() - return finder.copy_to(dst_alias, _from=[src_alias]) - -def move(src, dstdir): - """Move a file to a folder""" - finder = _getfinder() - src_fss = macfs.FSSpec(src) - dst_fss = macfs.FSSpec(dstdir) - src_alias = src_fss.NewAlias() - dst_alias = dst_fss.NewAlias() - return finder.move_to(dst_alias, _from=[src_alias]) - -def sleep(): - """Put the mac to sleep""" - finder = _getfinder() - finder.sleep() - -def shutdown(): - """Shut the mac down""" - finder = _getfinder() - finder.shut_down() - -def restart(): - """Restart the mac""" - finder = _getfinder() - finder.restart() - - -#--------------------------------------------------- -# Additional findertools -# - -def reveal(file): - """Reveal a file in the finder. Specify file by name or fsspec.""" - finder = _getfinder() - fss = macfs.FSSpec(file) - file_alias = fss.NewAlias() - return finder.reveal(file_alias) - -def select(file): - """select a file in the finder. Specify file by name or fsspec.""" - finder = _getfinder() - fss = macfs.FSSpec(file) - file_alias = fss.NewAlias() - return finder.select(file_alias) - -def update(file): - """Update the display of the specified object(s) to match - their on-disk representation. Specify file by name or fsspec.""" - finder = _getfinder() - fss = macfs.FSSpec(file) - file_alias = fss.NewAlias() - return finder.update(file_alias) - - -#--------------------------------------------------- -# More findertools -# - -def comment(object, comment=None): - """comment: get or set the Finder-comment of the item, displayed in the łGet Info˛ window.""" - object = macfs.FSSpec(object) - fss = macfs.FSSpec(object) - object_alias = fss.NewAlias() - if comment == None: - return _getcomment(object_alias) - else: - return _setcomment(object_alias, comment) - -def _setcomment(object_alias, comment): - finder = _getfinder() - args = {} - attrs = {} - aeobj_00 = aetypes.ObjectSpecifier(want=aetypes.Type('cobj'), form="alis", seld=object_alias, fr=None) - aeobj_01 = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), form="prop", seld=aetypes.Type('comt'), fr=aeobj_00) - args['----'] = aeobj_01 - args["data"] = comment - _reply, args, attrs = finder.send("core", "setd", args, attrs) - if args.has_key('errn'): - raise morefindertoolserror, aetools.decodeerror(args) - if args.has_key('----'): - return args['----'] - -def _getcomment(object_alias): - finder = _getfinder() - args = {} - attrs = {} - aeobj_00 = aetypes.ObjectSpecifier(want=aetypes.Type('cobj'), form="alis", seld=object_alias, fr=None) - aeobj_01 = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), form="prop", seld=aetypes.Type('comt'), fr=aeobj_00) - args['----'] = aeobj_01 - _reply, args, attrs = finder.send("core", "getd", args, attrs) - if args.has_key('errn'): - raise morefindertoolserror, aetools.decodeerror(args) - if args.has_key('----'): - return args['----'] - - -#--------------------------------------------------- -# Get information about current processes in the Finder. - -def processes(): - """processes returns a list of all active processes running on this computer and their creators.""" - finder = _getfinder() - args = {} - attrs = {} - processnames = [] - processnumbers = [] - creators = [] - partitions = [] - used = [] - ## get the processnames or else the processnumbers - args['----'] = aetypes.ObjectSpecifier(want=aetypes.Type('prcs'), form="indx", seld=aetypes.Unknown('abso', "all "), fr=None) - _reply, args, attrs = finder.send('core', 'getd', args, attrs) - if args.has_key('errn'): - raise morefindertoolserror, aetools.decodeerror(args) - p = [] - if args.has_key('----'): - p = args['----'] - for proc in p: - if hasattr(proc, 'seld'): - # it has a real name - processnames.append(proc.seld) - elif hasattr(proc, 'type'): - if proc.type == "psn ": - # it has a process number - processnumbers.append(proc.data) - ## get the creators - args = {} - attrs = {} - aeobj_0 = aetypes.ObjectSpecifier(want=aetypes.Type('prcs'), form="indx", seld=aetypes.Unknown('abso', "all "), fr=None) - args['----'] = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), form="prop", seld=aetypes.Type('fcrt'), fr=aeobj_0) - _reply, args, attrs = finder.send('core', 'getd', args, attrs) - if args.has_key('errn'): - raise morefindertoolserror, aetools.decodeerror(_arg) - if args.has_key('----'): - p = args['----'] - for proc in p: - creators.append(proc.type) - ## concatenate in one dict - result = [] - if len(processnames) > len(processnumbers): - data = processnames - else: - data = processnumbers - for i in range(len(creators)): - result.append((data[i], creators[i])) - return result - -class _process: - pass - -def isactiveprocess(processname): - """Check of processname is active. MacOS9""" - all = processes() - ok = 0 - for n, c in all: - if n == processname: - return 1 - return 0 - -def processinfo(processname): - """Return an object with all process properties as attributes for processname. MacOS9""" - p = _process() - - if processname == "Finder": - p.partition = None - p.used = None - else: - p.partition = _processproperty(processname, 'appt') - p.used = _processproperty(processname, 'pusd') - p.visible = _processproperty(processname, 'pvis') #Is the process' layer visible? - p.frontmost = _processproperty(processname, 'pisf') #Is the process the frontmost process? - p.file = _processproperty(processname, 'file') #the file from which the process was launched - p.filetype = _processproperty(processname, 'asty') #the OSType of the file type of the process - p.creatortype = _processproperty(processname, 'fcrt') #the OSType of the creator of the process (the signature) - p.accepthighlevel = _processproperty(processname, 'revt') #Is the process high-level event aware (accepts open application, open document, print document, and quit)? - p.hasscripting = _processproperty(processname, 'hscr') #Does the process have a scripting terminology, i.e., can it be scripted? - return p - -def _processproperty(processname, property): - """return the partition size and memory used for processname""" - finder = _getfinder() - args = {} - attrs = {} - aeobj_00 = aetypes.ObjectSpecifier(want=aetypes.Type('prcs'), form="name", seld=processname, fr=None) - aeobj_01 = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), form="prop", seld=aetypes.Type(property), fr=aeobj_00) - args['----'] = aeobj_01 - _reply, args, attrs = finder.send("core", "getd", args, attrs) - if args.has_key('errn'): - raise morefindertoolserror, aetools.decodeerror(args) - if args.has_key('----'): - return args['----'] - - -#--------------------------------------------------- -# Mess around with Finder windows. - -def openwindow(object): - """Open a Finder window for object, Specify object by name or fsspec.""" - finder = _getfinder() - object = macfs.FSSpec(object) - fss = macfs.FSSpec(object) - object_alias = fss.NewAlias() - args = {} - attrs = {} - _code = 'aevt' - _subcode = 'odoc' - aeobj_0 = aetypes.ObjectSpecifier(want=aetypes.Type('cfol'), form="alis", seld=object_alias, fr=None) - args['----'] = aeobj_0 - _reply, args, attrs = finder.send(_code, _subcode, args, attrs) - if args.has_key('errn'): - raise morefindertoolserror, aetools.decodeerror(args) - -def closewindow(object): - """Close a Finder window for folder, Specify by path.""" - finder = _getfinder() - fss = macfs.FSSpec(object) - object_alias = fss.NewAlias() - args = {} - attrs = {} - _code = 'core' - _subcode = 'clos' - aeobj_0 = aetypes.ObjectSpecifier(want=aetypes.Type('cfol'), form="alis", seld=object_alias, fr=None) - args['----'] = aeobj_0 - _reply, args, attrs = finder.send(_code, _subcode, args, attrs) - if args.has_key('errn'): - raise morefindertoolserror, aetools.decodeerror(args) - -def location(object, pos=None): - """Set the position of a Finder window for folder to pos=(w, h). Specify file by name or fsspec. - If pos=None, location will return the current position of the object.""" - fss = macfs.FSSpec(object) - object_alias = fss.NewAlias() - if not pos: - return _getlocation(object_alias) - return _setlocation(object_alias, pos) - -def _setlocation(object_alias, (x, y)): - """_setlocation: Set the location of the icon for the object.""" - finder = _getfinder() - args = {} - attrs = {} - aeobj_00 = aetypes.ObjectSpecifier(want=aetypes.Type('cfol'), form="alis", seld=object_alias, fr=None) - aeobj_01 = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), form="prop", seld=aetypes.Type('posn'), fr=aeobj_00) - args['----'] = aeobj_01 - args["data"] = [x, y] - _reply, args, attrs = finder.send("core", "setd", args, attrs) - if args.has_key('errn'): - raise morefindertoolserror, aetools.decodeerror(args) - return (x,y) - -def _getlocation(object_alias): - """_getlocation: get the location of the icon for the object.""" - finder = _getfinder() - args = {} - attrs = {} - aeobj_00 = aetypes.ObjectSpecifier(want=aetypes.Type('cfol'), form="alis", seld=object_alias, fr=None) - aeobj_01 = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), form="prop", seld=aetypes.Type('posn'), fr=aeobj_00) - args['----'] = aeobj_01 - _reply, args, attrs = finder.send("core", "getd", args, attrs) - if args.has_key('errn'): - raise morefindertoolserror, aetools.decodeerror(args) - if args.has_key('----'): - pos = args['----'] - return pos.h, pos.v - -def label(object, index=None): - """label: set or get the label of the item. Specify file by name or fsspec.""" - fss = macfs.FSSpec(object) - object_alias = fss.NewAlias() - if index == None: - return _getlabel(object_alias) - if index < 0 or index > 7: - index = 0 - return _setlabel(object_alias, index) - -def _getlabel(object_alias): - """label: Get the label for the object.""" - finder = _getfinder() - args = {} - attrs = {} - aeobj_00 = aetypes.ObjectSpecifier(want=aetypes.Type('cobj'), form="alis", seld=object_alias, fr=None) - aeobj_01 = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), form="prop", seld=aetypes.Type('labi'), fr=aeobj_00) - args['----'] = aeobj_01 - _reply, args, attrs = finder.send("core", "getd", args, attrs) - if args.has_key('errn'): - raise morefindertoolserror, aetools.decodeerror(args) - if args.has_key('----'): - return args['----'] - -def _setlabel(object_alias, index): - """label: Set the label for the object.""" - finder = _getfinder() - args = {} - attrs = {} - _code = 'core' - _subcode = 'setd' - aeobj_0 = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), - form="alis", seld=object_alias, fr=None) - aeobj_1 = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), - form="prop", seld=aetypes.Type('labi'), fr=aeobj_0) - args['----'] = aeobj_1 - args["data"] = index - _reply, args, attrs = finder.send(_code, _subcode, args, attrs) - if args.has_key('errn'): - raise morefindertoolserror, aetools.decodeerror(args) - return index - -def windowview(folder, view=None): - """windowview: Set the view of the window for the folder. Specify file by name or fsspec. - 0 = by icon (default) - 1 = by name - 2 = by button - """ - fss = macfs.FSSpec(folder) - folder_alias = fss.NewAlias() - if view == None: - return _getwindowview(folder_alias) - return _setwindowview(folder_alias, view) - -def _setwindowview(folder_alias, view=0): - """set the windowview""" - attrs = {} - args = {} - if view == 1: - _v = aetypes.Type('pnam') - elif view == 2: - _v = aetypes.Type('lgbu') - else: - _v = aetypes.Type('iimg') - finder = _getfinder() - aeobj_0 = aetypes.ObjectSpecifier(want = aetypes.Type('cfol'), - form = 'alis', seld = folder_alias, fr=None) - aeobj_1 = aetypes.ObjectSpecifier(want = aetypes.Type('prop'), - form = 'prop', seld = aetypes.Type('cwnd'), fr=aeobj_0) - aeobj_2 = aetypes.ObjectSpecifier(want = aetypes.Type('prop'), - form = 'prop', seld = aetypes.Type('pvew'), fr=aeobj_1) - aeobj_3 = aetypes.ObjectSpecifier(want = aetypes.Type('prop'), - form = 'prop', seld = _v, fr=None) - _code = 'core' - _subcode = 'setd' - args['----'] = aeobj_2 - args['data'] = aeobj_3 - _reply, args, attrs = finder.send(_code, _subcode, args, attrs) - if args.has_key('errn'): - raise morefindertoolserror, aetools.decodeerror(args) - if args.has_key('----'): - return args['----'] - -def _getwindowview(folder_alias): - """get the windowview""" - attrs = {} - args = {} - finder = _getfinder() - args = {} - attrs = {} - aeobj_00 = aetypes.ObjectSpecifier(want=aetypes.Type('cfol'), form="alis", seld=folder_alias, fr=None) - aeobj_01 = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), form="prop", seld=aetypes.Type('cwnd'), fr=aeobj_00) - aeobj_02 = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), form="prop", seld=aetypes.Type('pvew'), fr=aeobj_01) - args['----'] = aeobj_02 - _reply, args, attrs = finder.send("core", "getd", args, attrs) - if args.has_key('errn'): - raise morefindertoolserror, aetools.decodeerror(args) - views = {'iimg':0, 'pnam':1, 'lgbu':2} - if args.has_key('----'): - return views[args['----'].enum] - -def windowsize(folder, size=None): - """Set the size of a Finder window for folder to size=(w, h), Specify by path. - If size=None, windowsize will return the current size of the window. - Specify file by name or fsspec. - """ - fss = macfs.FSSpec(folder) - folder_alias = fss.NewAlias() - openwindow(fss) - if not size: - return _getwindowsize(folder_alias) - return _setwindowsize(folder_alias, size) - -def _setwindowsize(folder_alias, (w, h)): - """Set the size of a Finder window for folder to (w, h)""" - finder = _getfinder() - args = {} - attrs = {} - _code = 'core' - _subcode = 'setd' - aevar00 = [w, h] - aeobj_0 = aetypes.ObjectSpecifier(want=aetypes.Type('cfol'), - form="alis", seld=folder_alias, fr=None) - aeobj_1 = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), - form="prop", seld=aetypes.Type('cwnd'), fr=aeobj_0) - aeobj_2 = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), - form="prop", seld=aetypes.Type('ptsz'), fr=aeobj_1) - args['----'] = aeobj_2 - args["data"] = aevar00 - _reply, args, attrs = finder.send(_code, _subcode, args, attrs) - if args.has_key('errn'): - raise morefindertoolserror, aetools.decodeerror(args) - return (w, h) - -def _getwindowsize(folder_alias): - """Set the size of a Finder window for folder to (w, h)""" - finder = _getfinder() - args = {} - attrs = {} - aeobj_0 = aetypes.ObjectSpecifier(want=aetypes.Type('cfol'), - form="alis", seld=folder_alias, fr=None) - aeobj_1 = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), - form="prop", seld=aetypes.Type('cwnd'), fr=aeobj_0) - aeobj_2 = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), - form="prop", seld=aetypes.Type('posn'), fr=aeobj_1) - args['----'] = aeobj_2 - _reply, args, attrs = finder.send('core', 'getd', args, attrs) - if args.has_key('errn'): - raise morefindertoolserror, aetools.decodeerror(args) - if args.has_key('----'): - return args['----'] - -def windowposition(folder, pos=None): - """Set the position of a Finder window for folder to pos=(w, h).""" - fss = macfs.FSSpec(folder) - folder_alias = fss.NewAlias() - openwindow(fss) - if not pos: - return _getwindowposition(folder_alias) - if type(pos) == InstanceType: - # pos might be a QDPoint object as returned by _getwindowposition - pos = (pos.h, pos.v) - return _setwindowposition(folder_alias, pos) - -def _setwindowposition(folder_alias, (x, y)): - """Set the size of a Finder window for folder to (w, h).""" - finder = _getfinder() - args = {} - attrs = {} - aeobj_0 = aetypes.ObjectSpecifier(want=aetypes.Type('cfol'), - form="alis", seld=folder_alias, fr=None) - aeobj_1 = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), - form="prop", seld=aetypes.Type('cwnd'), fr=aeobj_0) - aeobj_2 = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), - form="prop", seld=aetypes.Type('posn'), fr=aeobj_1) - args['----'] = aeobj_2 - args["data"] = [x, y] - _reply, args, attrs = finder.send('core', 'setd', args, attrs) - if args.has_key('errn'): - raise morefindertoolserror, aetools.decodeerror(args) - if args.has_key('----'): - return args['----'] - -def _getwindowposition(folder_alias): - """Get the size of a Finder window for folder, Specify by path.""" - finder = _getfinder() - args = {} - attrs = {} - aeobj_0 = aetypes.ObjectSpecifier(want=aetypes.Type('cfol'), - form="alis", seld=folder_alias, fr=None) - aeobj_1 = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), - form="prop", seld=aetypes.Type('cwnd'), fr=aeobj_0) - aeobj_2 = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), - form="prop", seld=aetypes.Type('ptsz'), fr=aeobj_1) - args['----'] = aeobj_2 - _reply, args, attrs = finder.send('core', 'getd', args, attrs) - if args.has_key('errn'): - raise morefindertoolserror, aetools.decodeerror(args) - if args.has_key('----'): - return args['----'] - -def icon(object, icondata=None): - """icon sets the icon of object, if no icondata is given, - icon will return an AE object with binary data for the current icon. - If left untouched, this data can be used to paste the icon on another file. - Development opportunity: get and set the data as PICT.""" - fss = macfs.FSSpec(object) - object_alias = fss.NewAlias() - if icondata == None: - return _geticon(object_alias) - return _seticon(object_alias, icondata) - -def _geticon(object_alias): - """get the icondata for object. Binary data of some sort.""" - finder = _getfinder() - args = {} - attrs = {} - aeobj_00 = aetypes.ObjectSpecifier(want=aetypes.Type('cobj'), - form="alis", seld=object_alias, fr=None) - aeobj_01 = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), - form="prop", seld=aetypes.Type('iimg'), fr=aeobj_00) - args['----'] = aeobj_01 - _reply, args, attrs = finder.send("core", "getd", args, attrs) - if args.has_key('errn'): - raise morefindertoolserror, aetools.decodeerror(args) - if args.has_key('----'): - return args['----'] - -def _seticon(object_alias, icondata): - """set the icondata for object, formatted as produced by _geticon()""" - finder = _getfinder() - args = {} - attrs = {} - aeobj_00 = aetypes.ObjectSpecifier(want=aetypes.Type('cobj'), - form="alis", seld=object_alias, fr=None) - aeobj_01 = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), - form="prop", seld=aetypes.Type('iimg'), fr=aeobj_00) - args['----'] = aeobj_01 - args["data"] = icondata - _reply, args, attrs = finder.send("core", "setd", args, attrs) - if args.has_key('errn'): - raise morefindertoolserror, aetools.decodeerror(args) - if args.has_key('----'): - return args['----'].data - - -#--------------------------------------------------- -# Volumes and servers. - -def mountvolume(volume, server=None, username=None, password=None): - """mount a volume, local or on a server on AppleTalk. - Note: mounting a ASIP server requires a different operation. - server is the name of the server where the volume belongs - username, password belong to a registered user of the volume.""" - finder = _getfinder() - args = {} - attrs = {} - if password: - args["PASS"] = password - if username: - args["USER"] = username - if server: - args["SRVR"] = server - args['----'] = volume - _reply, args, attrs = finder.send("aevt", "mvol", args, attrs) - if args.has_key('errn'): - raise morefindertoolserror, aetools.decodeerror(args) - if args.has_key('----'): - return args['----'] - -def unmountvolume(volume): - """unmount a volume that's on the desktop""" - putaway(volume) - -def putaway(object): - """puth the object away, whereever it came from.""" - finder = _getfinder() - args = {} - attrs = {} - args['----'] = aetypes.ObjectSpecifier(want=aetypes.Type('cdis'), form="name", seld=object, fr=None) - _reply, args, attrs = talker.send("fndr", "ptwy", args, attrs) - if args.has_key('errn'): - raise morefindertoolserror, aetools.decodeerror(args) - if args.has_key('----'): - return args['----'] - - -#--------------------------------------------------- -# Miscellaneous functions -# - -def volumelevel(level): - """set the audio output level, parameter between 0 (silent) and 7 (full blast)""" - finder = _getfinder() - args = {} - attrs = {} - if level < 0: - level = 0 - elif level > 7: - level = 7 - args['----'] = level - _reply, args, attrs = finder.send("aevt", "stvl", args, attrs) - if args.has_key('errn'): - raise morefindertoolserror, aetools.decodeerror(args) - if args.has_key('----'): - return args['----'] - -def OSversion(): - """return the version of the system software""" - finder = _getfinder() - args = {} - attrs = {} - aeobj_00 = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), form="prop", seld=aetypes.Type('ver2'), fr=None) - args['----'] = aeobj_00 - _reply, args, attrs = finder.send("core", "getd", args, attrs) - if args.has_key('errn'): - raise morefindertoolserror, aetools.decodeerror(args) - if args.has_key('----'): - return args['----'] - -def filesharing(): - """return the current status of filesharing and whether it is starting up or not: - -1 file sharing is off and not starting up - 0 file sharing is off and starting up - 1 file sharing is on""" - status = -1 - finder = _getfinder() - # see if it is on - args = {} - attrs = {} - args['----'] = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), form="prop", seld=aetypes.Type('fshr'), fr=None) - _reply, args, attrs = finder.send("core", "getd", args, attrs) - if args.has_key('errn'): - raise morefindertoolserror, aetools.decodeerror(args) - if args.has_key('----'): - if args['----'] == 0: - status = -1 - else: - status = 1 - # is it starting up perchance? - args = {} - attrs = {} - args['----'] = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), form="prop", seld=aetypes.Type('fsup'), fr=None) - _reply, args, attrs = finder.send("core", "getd", args, attrs) - if args.has_key('errn'): - raise morefindertoolserror, aetools.decodeerror(args) - if args.has_key('----'): - if args['----'] == 1: - status = 0 - return status - -def movetotrash(path): - """move the object to the trash""" - fss = macfs.FSSpec(path) - trashfolder = macfs.FSSpec(macfs.FindFolder(fss.as_tuple()[0], 'trsh', 0) + ("",)).as_pathname() - findertools.move(path, trashfolder) - -def emptytrash(): - """empty the trash""" - finder = _getfinder() - args = {} - attrs = {} - args['----'] = aetypes.ObjectSpecifier(want=aetypes.Type('prop'), form="prop", seld=aetypes.Type('trsh'), fr=None) - _reply, args, attrs = finder.send("fndr", "empt", args, attrs) - if args.has_key('errn'): - raise aetools.Error, aetools.decodeerror(args) diff --git a/Mac/Contrib/morefindertools/morefindertoolstest.py b/Mac/Contrib/morefindertools/morefindertoolstest.py deleted file mode 100644 index 179d25e..0000000 --- a/Mac/Contrib/morefindertools/morefindertoolstest.py +++ /dev/null @@ -1,85 +0,0 @@ -"""Some tests of various morefindertools functions. -This does not test the functions that are already defined and tested in findertools. -10 10 2000 erik@letterror.com -""" - -import morefindertools -import os.path -import MacOS -import random - -mft = morefindertools - -print '\nmorefindertools version %s\nTests coming up' %mft.__version__ - -# miscellaneous -print '\tfilesharing on?', mft.filesharing() # is file sharing on, off, starting up? -print '\tOS version', mft.OSversion() # the version of the system software - -# set the soundvolume in a simple way -print '\tSystem beep volume' -for i in range(0, 7): - mft.volumelevel(i) - MacOS.SysBeep() - -# Finder's windows, file location, file attributes -f = __file__ # get a path name that is innocent to play with and always works -mft.reveal(f) # reveal this file in a Finder window -mft.select(f) # select this file - -base, file = os.path.split(f) -mft.closewindow(base) # close the window this file is in (opened by reveal) -mft.openwindow(base) # open it again -mft.windowview(base, 1) # set the view by list - -mft.label(f, 2) # set the label of this file to something orange -print '\tlabel', mft.label(f) # get the label of this file - -# the file location only works in a window with icon view! -print 'Random locations for an icon' -mft.windowview(base, 0) # set the view by icon -mft.windowsize(base, (600, 600)) -for i in range(50): - mft.location(f, (random.randint(10, 590), random.randint(10, 590))) - -mft.windowsize(base, (200, 400)) -mft.windowview(base, 1) # set the view by icon - -orgpos = mft.windowposition(base) -print 'Animated window location' -for i in range(10): - pos = (100+i*10, 100+i*10) - mft.windowposition(base, pos) - print '\twindow position', pos -mft.windowposition(base, orgpos) # park it where it was before - -print 'Put a comment in file', f, ':' -print '\t', mft.comment(f) # print the Finder comment this file has -s = 'This is a comment no one reads!' -mft.comment(f, s) # set the Finder comment - -# -# -# the following code does not work on MacOS versions older than MacOS 9. -# -# - -if 0: - print 'MacOS9 or better specific functions' - # processes - pr = mft.processes() # return a list of tuples with (active_processname, creatorcode) - print 'Return a list of current active processes:' - for p in pr: - print '\t', p - - # get attributes of the first process in the list - print 'Attributes of the first process in the list:' - pinfo = mft.processinfo(pr[0][0]) - print '\t', pr[0][0] - print '\t\tmemory partition', pinfo.partition # the memory allocated to this process - print '\t\tmemory used', pinfo.used # the memory actuall used by this process - print '\t\tis visible', pinfo.visible # is the process visible to the user - print '\t\tis frontmost', pinfo.frontmost # is the process the front most one? - print '\t\thas scripting', pinfo.hasscripting # is the process scriptable? - print '\t\taccepts high level events', pinfo.accepthighlevel # does the process accept high level appleevents? -print 'Done.'
\ No newline at end of file diff --git a/Mac/Contrib/morefindertools/readme.txt b/Mac/Contrib/morefindertools/readme.txt deleted file mode 100644 index 04b31ab..0000000 --- a/Mac/Contrib/morefindertools/readme.txt +++ /dev/null @@ -1,4 +0,0 @@ -The morefindertools module is an extension to findertools, donated by Erik -van Blokland, erik@letterror.com. The reason it is included in Contrib in stead -of incorporated in findertools is lack of time before the release, it will be -incorporated in the next release. |