1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
"""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.'
|