"""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.'