ยปCore Development>Code coverage>Mac/Modules/folder/folderscan.py

Python code coverage for Mac/Modules/folder/folderscan.py

#countcontent
1n/a# Scan an Apple header file, generating a Python file of generator calls.
2n/a
3n/aimport sys
4n/afrom bgenlocations import TOOLBOXDIR, BGENDIR
5n/asys.path.append(BGENDIR)
6n/afrom scantools import Scanner_OSX
7n/a
8n/aLONG = "Folders"
9n/aSHORT = "folder"
10n/aOBJECT = "NOTUSED"
11n/a
12n/adef main():
13n/a input = LONG + ".h"
14n/a output = SHORT + "gen.py"
15n/a defsoutput = TOOLBOXDIR + LONG + ".py"
16n/a scanner = MyScanner(input, output, defsoutput)
17n/a scanner.scan()
18n/a scanner.close()
19n/a scanner.gentypetest(SHORT+"typetest.py")
20n/a print "=== Testing definitions output code ==="
21n/a execfile(defsoutput, {}, {})
22n/a print "=== Done scanning and generating, now importing the generated code... ==="
23n/a exec "import " + SHORT + "support"
24n/a print "=== Done. It's up to you to compile it now! ==="
25n/a
26n/aclass MyScanner(Scanner_OSX):
27n/a
28n/a def destination(self, type, name, arglist):
29n/a classname = "Function"
30n/a listname = "functions"
31n/a if arglist:
32n/a t, n, m = arglist[0]
33n/a # This is non-functional today
34n/a if t == OBJECT and m == "InMode":
35n/a classname = "Method"
36n/a listname = "methods"
37n/a return classname, listname
38n/a
39n/a def makeblacklistnames(self):
40n/a return [
41n/a "FindFolderExtended", # Has funny void* argument
42n/a "FSFindFolderExtended", # ditto
43n/a "FolderManagerRegisterCallNotificationProcs", # ditto
44n/a
45n/a "FindFolderEx", # Non-MacOS routine
46n/a ]
47n/a
48n/a def makeblacklisttypes(self):
49n/a return [
50n/a "FolderManagerNotificationProcPtr",
51n/a "FolderManagerNotificationUPP",
52n/a "FolderRouting", # To be done, not difficult
53n/a "FolderDesc", # To be done, not difficult
54n/a
55n/a ]
56n/a
57n/a def makerepairinstructions(self):
58n/a return [
59n/a ]
60n/a
61n/a def writeinitialdefs(self):
62n/a self.defsfile.write("def FOUR_CHAR_CODE(x): return x\n")
63n/a self.defsfile.write("true = True\n")
64n/a self.defsfile.write("false = False\n")
65n/a
66n/aif __name__ == "__main__":
67n/a main()