+++ /dev/null
-"""API generator for decorator classes.
-"""
-
-__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
-__cvsid__ = "$Id$"
-__revision__ = "$Revision$"[11:-2]
-
-
-import inspect
-import os
-import sys
-import types
-
-
-header = '''\
-"""wxPython decorator classes.
-
-This file is automatically generated, and these are not the real
-wxPython classes. These are Python versions for API documentation
-purposes only.
-
-Please send corrections, questions, and suggestions to:
-
-Patrick K. O'Brien <pobrien@orbtech.com>
-"""
-
-__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
-
-from wxd import Parameters as wx
-
-try:
- True
-except NameError:
- True = 1==1
- False = 1==0
-'''
-
-modlist = [
- 'Base',
- 'Window',
- 'Frames',
- 'Accelerators',
- 'App',
- 'ClipDragDrop',
- 'Config',
- 'Controls',
- 'DataStructures',
- 'DateTime',
- 'Dialogs',
- 'Drawing',
- 'Errors',
- 'EventFunctions',
- 'Events',
- 'FileSystem',
- 'Functions',
- 'Help',
- 'ImageHandlers',
- 'Joystick',
- 'LayoutConstraints',
- 'Logging',
- 'Menus',
- 'MimeTypes',
- 'Misc',
- 'Panel',
- 'Printing',
- 'Process',
- 'SashSplitter',
- 'Sizers',
- 'Streams',
- 'Threading',
- 'ToolBar',
- 'Tree',
- 'Validators',
- ]
-
-dir = os.path.realpath('api/wx/')
-filename = os.path.join(dir, '__init__.py')
-
-def main():
- modules = {}
- f = file(filename, 'w')
- f.write(header)
- for modname in modlist:
- modules[modname] = __import__(modname, globals())
- for modname in modlist:
- module = modules[modname]
- try:
- source = inspect.getsource(module)
- except IOError:
- print 'No source for', module
- else:
- # Remove everything up to the first class or function definition.
- splitter = '\n\nclass '
- parts = source.split(splitter, 1)
- if len(parts) == 2:
- source = splitter + parts[1]
- else:
- splitter = '\n\ndef '
- parts = source.split(splitter, 1)
- if len(parts) == 2:
- source = splitter + parts[1]
- source = '\n\n\n' + source.strip()
- f.write(source)
- print 'Writing', modname
- f.write('\n')
- f.close()
-
- # Add constants and any other missing stuff.
- f = file(filename, 'a')
- f.write('\n\n## Other Stuff:\n\n')
- import wx as old
- old = old.__dict__
- sys.path.insert(0, dir) # Munge the sys.path so that we can
- import __init__ # import the file we just created.
- new = __init__.__dict__
- l = [(k, v) for (k, v) in old.items() if (not k.startswith('_')
- and not k.endswith('Ptr')
- and not (k == 'cvar'))]
- l.sort()
- from wxPython import wx
- for key, value in l:
- if key not in new:
- if (inspect.isclass(value)
- or inspect.isroutine(value)
- or type(value) is types.InstanceType):
- value = repr(value)
- text = '%s = %r' % (key, value)
- f.write(text + '\n')
- print 'Writing', text
- f.close()
-
-if __name__ == '__main__':
- main()