Patrick O'Brien's PyCrust package has been renamed to Py and now
includes several new tools. As part of the change the location of the pacakge has changed as well, it is now accessible as "from wxPython import py" (or "from wx import py" using the new namespace.) There are still some transition moudules in the wxPython.lib.PyCrust mackage that will issue a warning and then import what is needed from the new package. These will be removed in a future release. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@20104 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
57
wxPython/wxPython/py/PyWrap.py
Executable file
57
wxPython/wxPython/py/PyWrap.py
Executable file
@@ -0,0 +1,57 @@
|
||||
#!/usr/bin/env 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
|
||||
from wxPython import wx
|
||||
from crust import CrustFrame as Frame
|
||||
|
||||
try:
|
||||
True
|
||||
except NameError:
|
||||
True = 1==1
|
||||
False = 1==0
|
||||
|
||||
|
||||
def wrap(app):
|
||||
wx.wxInitAllImageHandlers()
|
||||
frame = Frame()
|
||||
frame.SetSize((750, 525))
|
||||
frame.Show(True)
|
||||
frame.shell.interp.locals['app'] = app
|
||||
app.MainLoop()
|
||||
|
||||
|
||||
def main(argv):
|
||||
if len(argv) < 2:
|
||||
print "Please specify a module name."
|
||||
raise SystemExit
|
||||
name = argv[1]
|
||||
if name[-3:] == '.py':
|
||||
name = name[:-3]
|
||||
module = __import__(name)
|
||||
# Find the App class.
|
||||
App = None
|
||||
d = module.__dict__
|
||||
for item in d.keys():
|
||||
try:
|
||||
if issubclass(d[item], wx.wxApp):
|
||||
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__':
|
||||
sys.path.insert(0, os.curdir)
|
||||
main(sys.argv)
|
Reference in New Issue
Block a user