def run(args): import openerp import openerp.cli.server import openerp.tools.config import openerp.service.cron config = openerp.tools.config os.environ["TZ"] = "UTC" common.set_addons(args) args.database = args.database or [] config['log_handler'] = [ ':WARNING', 'openerp.addons.base.ir.ir_cron:DEBUG' ] openerp.multi_process = True common.setproctitle('openerp-cron [%s]' % ', '.join(args.database)) openerp.cli.server.check_root_user() openerp.netsvc.init_logger() #openerp.cli.server.report_configuration() openerp.cli.server.setup_signal_handlers(openerp.cli.server.signal_handler) import openerp.addons.base if args.database: for db in args.database: openerp.cli.server.preload_registry(db) openerp.service.cron.start_service() openerp.cli.server.quit_on_signals() else: print "No database given."
def run(args): import openerp import openerp.cli.server import openerp.tools.config import openerp.service.cron config = openerp.tools.config os.environ["TZ"] = "UTC" common.set_addons(args) args.database = args.database or [] config['log_handler'] = [':WARNING', 'openerp.addons.base.ir.ir_cron:DEBUG'] openerp.multi_process = True common.setproctitle('openerp-cron [%s]' % ', '.join(args.database)) openerp.cli.server.check_root_user() openerp.netsvc.init_logger() #openerp.cli.server.report_configuration() openerp.cli.server.configure_babel_localedata_path() openerp.cli.server.setup_signal_handlers(openerp.cli.server.signal_handler) import openerp.addons.base if args.database: for db in args.database: openerp.cli.server.preload_registry(db) openerp.service.cron.start_service() openerp.cli.server.quit_on_signals() else: print "No database given."
def run(args): assert args.database assert args.model import openerp config = openerp.tools.config config['log_handler'] = [':CRITICAL'] common.set_addons(args) openerp.netsvc.init_logger() registry = openerp.modules.registry.RegistryManager.get( args.database, update_module=False) model = registry[args.model] cr = registry.db.cursor() # TODO context manager field_names = [args.field] if args.field else [] if args.short: # ignore --field field_names = ['name'] try: xs = model.read(cr, 1, args.id, field_names, {}) finally: cr.close() if xs: print "Records (model `%s`, database `%s`):" % (args.model, args.database) x = xs[0] if args.short: print str(x['id']) + '.', x['name'] else: longest_k = 1 for k, v in x.items(): longest_k = len(k) if longest_k < len(k) else longest_k for k, v in sorted(x.items()): print(k + ':').ljust(longest_k + 2), v else: print "Record not found."
def run(args): assert args.database assert args.model import openerp config = openerp.tools.config config['log_handler'] = [':CRITICAL'] common.set_addons(args) openerp.netsvc.init_logger() registry = openerp.modules.registry.RegistryManager.get( args.database, update_module=False) model = registry[args.model] cr = registry.db.cursor() # TODO context manager field_names = [args.field] if args.field else [] if args.short: # ignore --field field_names = ['name'] try: xs = model.read(cr, 1, args.id, field_names, {}) finally: cr.close() if xs: print "Records (model `%s`, database `%s`):" % (args.model, args.database) x = xs[0] if args.short: print str(x['id']) + '.', x['name'] else: longest_k = 1 for k, v in x.items(): longest_k = len(k) if longest_k < len(k) else longest_k for k, v in sorted(x.items()): print (k + ':').ljust(longest_k + 2), v else: print "Record not found."
def run(args): # Note that gevent monkey patching must be done before importing the # `threading` module, see http://stackoverflow.com/questions/8774958/. if args.gevent: import gevent import gevent.monkey import gevent.wsgi import gevent_psycopg2 gevent.monkey.patch_all() gevent_psycopg2.monkey_patch() import threading import openerp import openerp.cli.server import openerp.service.wsgi_server import openerp.tools.config config = openerp.tools.config os.environ["TZ"] = "UTC" common.set_addons(args) openerp.multi_process = True common.setproctitle('openerp-web') openerp.cli.server.check_root_user() openerp.netsvc.init_logger() #openerp.cli.server.report_configuration() openerp.cli.server.configure_babel_localedata_path() target = openerp.service.wsgi_server.serve if not args.gevent: openerp.evented = False openerp.cli.server.setup_signal_handlers(openerp.cli.server.signal_handler) # TODO openerp.multi_process with a multi-threaded process probably # doesn't work very well (e.g. waiting for all threads to complete # before killing the process is not implemented). arg = (args.interface, int(args.port), args.threaded) threading.Thread(target=target, args=arg).start() openerp.cli.server.quit_on_signals() else: openerp.evented = True app = openerp.service.wsgi_server.application server = gevent.wsgi.WSGIServer((args.interface, int(args.port)), app) setup_signal_handlers(mk_signal_handler(server)) try: server.serve_forever() except KeyboardInterrupt: try: server.stop() gevent.shutdown() except KeyboardInterrupt: sys.stderr.write("Forced shutdown.\n") gevent.shutdown()