[IMP] support precise mode + get ride of notify channel + small refactoring
[odoo/odoo.git] / openerp-web.py
1 #!/usr/bin/env python
2 import optparse
3 import os
4 import sys
5 import tempfile
6 import logging
7 import logging.config
8
9 import werkzeug.serving
10
11 path_root = os.path.dirname(os.path.abspath(__file__))
12 path_addons = os.path.join(path_root, 'addons')
13 if path_addons not in sys.path:
14     sys.path.insert(0, path_addons)
15
16 optparser = optparse.OptionParser()
17 optparser.add_option("-p", "--port", dest="socket_port", default=8002,
18                      help="listening port", type="int", metavar="NUMBER")
19 optparser.add_option("-s", "--session-path", dest="session_storage",
20                      default=os.path.join(tempfile.gettempdir(), "oe-sessions"),
21                      help="directory used for session storage", metavar="DIR")
22 optparser.add_option("--server-host", dest="server_host",
23                      default='127.0.0.1', help="OpenERP server hostname", metavar="HOST")
24 optparser.add_option("--server-port", dest="server_port", default=8069,
25                      help="OpenERP server port", type="int", metavar="NUMBER")
26 optparser.add_option("--db-filter", dest="dbfilter", default='.*',
27                      help="Filter listed database", metavar="REGEXP")
28 optparser.add_option('--addons-path', dest='addons_path', default=path_addons,
29                     help="Path do addons directory", metavar="PATH")
30 optparser.add_option('--no-serve-static', dest='serve_static',
31                      default=True, action='store_false',
32                      help="Do not serve static files via this server")
33 optparser.add_option('--reloader', dest='reloader',
34                      default=False, action='store_true',
35                      help="Reload application when python files change")
36 optparser.add_option("--log-level", dest="log_level",
37                      default='debug', help="Log level", metavar="LOG_LEVEL")
38 optparser.add_option("--log-config", dest="log_config",
39                      default='', help="Log config file", metavar="LOG_CONFIG")
40
41 import web.common.dispatch
42
43 if __name__ == "__main__":
44     (options, args) = optparser.parse_args(sys.argv[1:])
45
46     os.environ["TZ"] = "UTC"
47
48     if not options.log_config:
49         logging.basicConfig(level=getattr(logging, options.log_level.upper()))
50     else:
51         logging.config.fileConfig(options.log_config)
52
53     app = web.common.dispatch.Root(options)
54
55     werkzeug.serving.run_simple(
56         '0.0.0.0', options.socket_port, app,
57         use_reloader=options.reloader, threaded=True)
58