git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24541 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
"""PyWrap is a command line utility that runs a wxPython program with
 | 
						|
additional runtime-tools, such as PyCrust."""
 | 
						|
 | 
						|
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
 | 
						|
__cvsid__ = "$Id$"
 | 
						|
__revision__ = "$Revision$"[11:-2]
 | 
						|
 | 
						|
import os
 | 
						|
import sys
 | 
						|
import wx
 | 
						|
from crust import CrustFrame as Frame
 | 
						|
 | 
						|
try:
 | 
						|
    True
 | 
						|
except NameError:
 | 
						|
    True = 1==1
 | 
						|
    False = 1==0
 | 
						|
 | 
						|
 | 
						|
def wrap(app):
 | 
						|
    wx.InitAllImageHandlers()
 | 
						|
    frame = Frame()
 | 
						|
    frame.SetSize((750, 525))
 | 
						|
    frame.Show(True)
 | 
						|
    frame.shell.interp.locals['app'] = app
 | 
						|
    app.MainLoop()
 | 
						|
 | 
						|
 | 
						|
def main(modulename=None):
 | 
						|
    sys.path.insert(0, os.curdir)
 | 
						|
    if not modulename:
 | 
						|
        if len(sys.argv) < 2:
 | 
						|
            print "Please specify a module name."
 | 
						|
            raise SystemExit
 | 
						|
        modulename = sys.argv[1]
 | 
						|
        if modulename.endswith('.py'):
 | 
						|
            modulename = modulename[:-3]
 | 
						|
    module = __import__(modulename)
 | 
						|
    # Find the App class.
 | 
						|
    App = None
 | 
						|
    d = module.__dict__
 | 
						|
    for item in d.keys():
 | 
						|
        try:
 | 
						|
            if issubclass(d[item], wx.App):
 | 
						|
                App = d[item]
 | 
						|
        except (NameError, TypeError):
 | 
						|
            pass
 | 
						|
    if App is None:
 | 
						|
        print "No App class found."
 | 
						|
        raise SystemExit
 | 
						|
    app = App()
 | 
						|
    wrap(app)
 | 
						|
 | 
						|
 | 
						|
if __name__ == '__main__':
 | 
						|
    main()
 |