From 07ed8a8421a43fb474190f95aeac949c81de9c52 Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Wed, 31 Aug 2011 19:37:29 +0200 Subject: [PATCH] [IMP] move main() into openerp-web.py bzr revid: al@openerp.com-20110831173729-jps10jd16r9b6c39 --- addons/base/common/dispatch.py | 44 ++-------------------------- openerp-web.py | 53 +++++++++++++++++++++++++++++----- 2 files changed, 47 insertions(+), 50 deletions(-) diff --git a/addons/base/common/dispatch.py b/addons/base/common/dispatch.py index 7d50785bf56..bddcffb8ce9 100644 --- a/addons/base/common/dispatch.py +++ b/addons/base/common/dispatch.py @@ -33,7 +33,7 @@ path_addons = __main__.path_addons cherrypy_root = None #----------------------------------------------------------- -# Per Database Globals (might move into a pool if needed) +# Globals (wont move into a pool) #----------------------------------------------------------- applicationsession = {} @@ -270,44 +270,4 @@ class Root(object): raise cherrypy.HTTPRedirect('/base/webclient/home' + qs, 301) default.exposed = True -def main(argv): - # change the timezone of the program to the OpenERP server's assumed timezone - os.environ["TZ"] = "UTC" - - DEFAULT_CONFIG = { - 'server.socket_host': '0.0.0.0', - 'tools.sessions.on': True, - 'tools.sessions.storage_type': 'file', - 'tools.sessions.timeout': 60 - } - - # Parse config - op = optparse.OptionParser() - op.add_option("-p", "--port", dest="server.socket_port", default=8002, help="listening port", type="int", metavar="NUMBER") - op.add_option("-s", "--session-path", dest="tools.sessions.storage_path", default=os.path.join(tempfile.gettempdir(), "cpsessions"), help="directory used for session storage", metavar="DIR") - op.add_option("--server-host", dest="openerp.server.host", default='127.0.0.1', help="OpenERP server hostname", metavar="HOST") - op.add_option("--server-port", dest="openerp.server.port", default=8069, help="OpenERP server port", type="int", metavar="NUMBER") - op.add_option("--db-filter", dest="openerp.dbfilter", default='.*', help="Filter listed database", metavar="REGEXP") - (o, args) = op.parse_args(argv[1:]) - o = vars(o) - for k in o.keys(): - if o[k] is None: - del(o[k]) - - # Setup and run cherrypy - cherrypy.tree.mount(Root()) - - cherrypy.config.update(config=DEFAULT_CONFIG) - if os.path.exists(os.path.join(path_root,'openerp-web.cfg')): - cherrypy.config.update(os.path.join(path_root,'openerp-web.cfg')) - if os.path.exists(os.path.expanduser('~/.openerp_webrc')): - cherrypy.config.update(os.path.expanduser('~/.openerp_webrc')) - cherrypy.config.update(o) - - if not os.path.exists(cherrypy.config['tools.sessions.storage_path']): - os.makedirs(cherrypy.config['tools.sessions.storage_path'], 0700) - - cherrypy.server.subscribe() - cherrypy.engine.start() - cherrypy.engine.block() - +# diff --git a/openerp-web.py b/openerp-web.py index 3363b4466a7..69e2c90db7c 100755 --- a/openerp-web.py +++ b/openerp-web.py @@ -1,5 +1,8 @@ #!/usr/bin/env python -import os,sys +import optparse,os,sys,tempfile + +import cherrypy +import cherrypy.lib.static path_root = os.path.dirname(os.path.abspath(__file__)) path_addons = os.path.join(path_root, 'addons') @@ -8,13 +11,47 @@ if path_addons not in sys.path: import base -def main(): - # TODO move the code of base.common.main here ! - # change the code to configure a simple werzug server -> base.common.Root() - base.common.main(sys.argv) +def main(argv): + # change the timezone of the program to the OpenERP server's assumed timezone + os.environ["TZ"] = "UTC" + + DEFAULT_CONFIG = { + 'server.socket_host': '0.0.0.0', + 'tools.sessions.on': True, + 'tools.sessions.storage_type': 'file', + 'tools.sessions.timeout': 60 + } + + # Parse config + op = optparse.OptionParser() + op.add_option("-p", "--port", dest="server.socket_port", default=8002, help="listening port", type="int", metavar="NUMBER") + op.add_option("-s", "--session-path", dest="tools.sessions.storage_path", default=os.path.join(tempfile.gettempdir(), "cpsessions"), help="directory used for session storage", metavar="DIR") + op.add_option("--server-host", dest="openerp.server.host", default='127.0.0.1', help="OpenERP server hostname", metavar="HOST") + op.add_option("--server-port", dest="openerp.server.port", default=8069, help="OpenERP server port", type="int", metavar="NUMBER") + op.add_option("--db-filter", dest="openerp.dbfilter", default='.*', help="Filter listed database", metavar="REGEXP") + (o, args) = op.parse_args(argv[1:]) + o = vars(o) + for k in o.keys(): + if o[k] is None: + del(o[k]) + + # Setup and run cherrypy + cherrypy.tree.mount(base.common.Root()) + + cherrypy.config.update(config=DEFAULT_CONFIG) + if os.path.exists(os.path.join(path_root,'openerp-web.cfg')): + cherrypy.config.update(os.path.join(path_root,'openerp-web.cfg')) + if os.path.exists(os.path.expanduser('~/.openerp_webrc')): + cherrypy.config.update(os.path.expanduser('~/.openerp_webrc')) + cherrypy.config.update(o) + + if not os.path.exists(cherrypy.config['tools.sessions.storage_path']): + os.makedirs(cherrypy.config['tools.sessions.storage_path'], 0700) + + cherrypy.server.subscribe() + cherrypy.engine.start() + cherrypy.engine.block() if __name__ == "__main__": - main() - - + main(sys.argv)