Launchpad automatic translations update.
[odoo/odoo.git] / openerp-web.py
index e5b28c8..fe33585 100755 (executable)
@@ -2,6 +2,7 @@
 import optparse
 import os
 import sys
+import json
 import tempfile
 import logging
 import logging.config
@@ -24,8 +25,10 @@ optparser.add_option("--server-port", dest="server_port", default=8069,
                      help="OpenERP server port", type="int", metavar="NUMBER")
 optparser.add_option("--db-filter", dest="dbfilter", default='.*',
                      help="Filter listed database", metavar="REGEXP")
-optparser.add_option('--addons-path', dest='addons_path', default=path_addons,
+optparser.add_option('--addons-path', dest='addons_path', default=[path_addons], action='append',
                     help="Path do addons directory", metavar="PATH")
+optparser.add_option('--load', dest='server_wide_modules', default=['web'], action='append',
+                    help="Load a additional module before login (by default only 'web' is loaded)", metavar="MODULE")
 
 server_options = optparse.OptionGroup(optparser, "Server configuration")
 server_options.add_option("-p", "--port", dest="socket_port", default=8002,
@@ -48,11 +51,11 @@ logging_opts = optparse.OptionGroup(optparser, "Logging")
 logging_opts.add_option("--log-level", dest="log_level", type="choice",
                         default='debug', help="Global logging level", metavar="LOG_LEVEL",
                         choices=['debug', 'info', 'warning', 'error', 'critical'])
-logging_opts.add_option("--log-config", dest="log_config",
+logging_opts.add_option("--log-config", dest="log_config", default=os.path.join(os.path.dirname(__file__), "logging.json"),
                         help="Logging configuration file", metavar="FILE")
 optparser.add_option_group(logging_opts)
 
-import web.common.dispatch
+import web.common.http
 
 if __name__ == "__main__":
     (options, args) = optparser.parse_args(sys.argv[1:])
@@ -60,12 +63,15 @@ if __name__ == "__main__":
 
     os.environ["TZ"] = "UTC"
 
-    if not options.log_config:
-        logging.basicConfig(level=getattr(logging, options.log_level.upper()))
+    if sys.version_info >= (2, 7):
+        with open(options.log_config) as file:
+            dct = json.load(file)
+        logging.config.dictConfig(dct)
+        logging.getLogger("").setLevel(getattr(logging, options.log_level.upper()))
     else:
-        logging.config.fileConfig(options.log_config)
+        logging.basicConfig(level=getattr(logging, options.log_level.upper()))
 
-    app = web.common.dispatch.Root(options)
+    app = web.common.http.Root(options)
 
     if options.proxy_mode:
         app = werkzeug.contrib.fixers.ProxyFix(app)