[Checkins] SVN: Sandbox/ulif/grokcore.startup/src/grokcore/startup/startup.py Copy paster startup code from grokproject into our package.
Uli Fouquet
uli at gnufix.de
Sat Jan 31 08:53:23 EST 2009
Log message for revision 95650:
Copy paster startup code from grokproject into our package.
Changed:
A Sandbox/ulif/grokcore.startup/src/grokcore/startup/startup.py
-=-
Copied: Sandbox/ulif/grokcore.startup/src/grokcore/startup/startup.py (from rev 95649, grokproject/trunk/grokproject/template_paste/src/+package+/startup.py_tmpl)
===================================================================
--- Sandbox/ulif/grokcore.startup/src/grokcore/startup/startup.py (rev 0)
+++ Sandbox/ulif/grokcore.startup/src/grokcore/startup/startup.py 2009-01-31 13:53:23 UTC (rev 95650)
@@ -0,0 +1,35 @@
+import os.path
+import sys
+import code
+import zdaemon.zdctl
+import zope.app.wsgi
+import zope.app.debug
+
+def application_factory(global_conf):
+ zope_conf = os.path.join(global_conf['zope_conf'])
+ return zope.app.wsgi.getWSGIApplication(zope_conf)
+
+def interactive_debug_prompt(zope_conf=os.path.join('etc', 'zope.conf')):
+ db = zope.app.wsgi.config(zope_conf)
+ debugger = zope.app.debug.Debugger.fromDatabase(db)
+ # Invoke an interactive interpreter shell
+ banner = ("Welcome to the interactive debug prompt.\n"
+ "The 'root' variable contains the ZODB root folder.\n"
+ "The 'app' variable contains the Debugger, 'app.publish(path)' "
+ "simulates a request.")
+ code.interact(banner=banner, local={'debugger': debugger,
+ 'app': debugger,
+ 'root': debugger.root()})
+
+class ControllerCommands(zdaemon.zdctl.ZDCmd):
+
+ def do_debug(self, rest):
+ interactive_debug_prompt()
+
+ def help_debug(self):
+ print "debug -- Initialize the application, providing a debugger"
+ print " object at an interactive Python prompt."
+
+def zdaemon_controller(zdaemon_conf=os.path.join('etc', 'zdaemon.conf')):
+ args = ['-C', zdaemon_conf] + sys.argv[1:]
+ zdaemon.zdctl.main(args, options=None, cmdclass=ControllerCommands)
More information about the Checkins
mailing list