"""PyWrap is a command line utility that runs a wxPython program with additional runtime-tools, such as PyCrust.""" __author__ = "Patrick K. O'Brien " __cvsid__ = "$Id$" __revision__ = "$Revision$"[11:-2] import wx from wx import py import os import sys def wrap(app): wx.InitAllImageHandlers() frame = py.crust.CrustFrame() 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 was found." raise SystemExit app = App() wrap(app) if __name__ == '__main__': main()