summaryrefslogtreecommitdiff
path: root/lib/python2.7/site-packages/wx-3.0-msw/wx/py/PyWrap.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python2.7/site-packages/wx-3.0-msw/wx/py/PyWrap.py')
-rw-r--r--lib/python2.7/site-packages/wx-3.0-msw/wx/py/PyWrap.py49
1 files changed, 49 insertions, 0 deletions
diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/py/PyWrap.py b/lib/python2.7/site-packages/wx-3.0-msw/wx/py/PyWrap.py
new file mode 100644
index 0000000..fafa382
--- /dev/null
+++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/py/PyWrap.py
@@ -0,0 +1,49 @@
+#!/usr/bin/env python2
+"""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 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()