[Checkins] SVN: zope.app.appsetup/trunk/ - Feature: Developed an entry point that allows you to quickly bring up an
Stephan Richter
srichter at cosmos.phy.tufts.edu
Mon Aug 25 17:43:59 EDT 2008
Log message for revision 90244:
- Feature: Developed an entry point that allows you to quickly bring up an
application instance for debugging purposes. (Implemented by Marius
Gedminas and Stephan Richter.)
Changed:
U zope.app.appsetup/trunk/CHANGES.txt
U zope.app.appsetup/trunk/setup.py
A zope.app.appsetup/trunk/src/zope/app/appsetup/debug.py
-=-
Modified: zope.app.appsetup/trunk/CHANGES.txt
===================================================================
--- zope.app.appsetup/trunk/CHANGES.txt 2008-08-25 19:49:07 UTC (rev 90243)
+++ zope.app.appsetup/trunk/CHANGES.txt 2008-08-25 21:43:58 UTC (rev 90244)
@@ -2,6 +2,13 @@
CHANGES
=======
+Version 3.8.0 (2008-??-??)
+--------------------------
+
+- Feature: Developed an entry point that allows you to quickly bring up an
+ application instance for debugging purposes. (Implemented by Marius Gedminas
+ and Stephan Richter.)
+
Version 3.7.0 (2008-08-19)
--------------------------
@@ -10,7 +17,6 @@
setup) to make use of the same configuration schema support used by normal
startup.
-
Version 3.6.0 (2008-07-23)
--------------------------
Modified: zope.app.appsetup/trunk/setup.py
===================================================================
--- zope.app.appsetup/trunk/setup.py 2008-08-25 19:49:07 UTC (rev 90243)
+++ zope.app.appsetup/trunk/setup.py 2008-08-25 21:43:58 UTC (rev 90244)
@@ -46,7 +46,7 @@
'Operating System :: OS Independent',
'Topic :: Internet :: WWW/HTTP',
'Framework :: Zope3'],
- url='http://cheeseshop.python.org/pypi/zope.app.appsetup',
+ url='http://pypi.python.org/pypi/zope.app.appsetup',
packages=find_packages('src'),
package_dir={'': 'src'},
extras_require=dict(test=['zope.app.testing']),
@@ -67,4 +67,8 @@
],
include_package_data=True,
zip_safe=False,
+ entry_points = """
+ [console_scripts]
+ debug = zope.app.appsetup.debug:main
+ """,
)
Added: zope.app.appsetup/trunk/src/zope/app/appsetup/debug.py
===================================================================
--- zope.app.appsetup/trunk/src/zope/app/appsetup/debug.py (rev 0)
+++ zope.app.appsetup/trunk/src/zope/app/appsetup/debug.py 2008-08-25 21:43:58 UTC (rev 90244)
@@ -0,0 +1,62 @@
+##############################################################################
+#
+# Copyright (c) 2008 Zope Corporation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""Debug a Zope Application
+
+$Id$
+"""
+__docformat__ = 'restructuredtext'
+import os
+import sys
+import zdaemon.zdoptions
+import zope.app.appsetup.appsetup
+import zope.app.appsetup.interfaces
+import zope.app.appsetup.product
+import zope.event
+from zope.app.publication.zopepublication import ZopePublication
+
+os.environ["PYTHONINSPECT"] = "true"
+
+def load_options(args=None):
+ if args is None:
+ args = sys.argv[1:]
+ options = zdaemon.zdoptions.ZDOptions()
+ options.schemadir = os.path.join(
+ os.path.dirname(os.path.abspath(__file__)), 'schema')
+ options.realize(args)
+ options = options.configroot
+
+ if options.path:
+ sys.path[:0] = [os.path.abspath(p) for p in options.path]
+ return options
+
+
+def loadApplication(args=None):
+ options = load_options(args)
+
+ zope.app.appsetup.product.setProductConfigurations(
+ options.product_config)
+
+ zope.app.appsetup.config(options.site_definition)
+
+ db = zope.app.appsetup.appsetup.multi_database(options.databases)[0][0]
+ zope.event.notify(zope.app.appsetup.interfaces.DatabaseOpened(db))
+ return db
+
+
+def main(args=None):
+ db = loadApplication(args)
+ if "PYTHONSTARTUP" in os.environ:
+ execfile(os.environ["PYTHONSTARTUP"])
+ sys.modules['__main__'].root = db.open().root()[ZopePublication.root_name]
+ print 'The application root is known as `root`.'
Property changes on: zope.app.appsetup/trunk/src/zope/app/appsetup/debug.py
___________________________________________________________________
Name: svn:keywords
+ Id
More information about the Checkins
mailing list