# -*- coding: utf-8 -*- from functions import CamadeusFunctions from config_at import Config from environments import ENVIRONMENTS, Environment import sys, getopt def main(): def _usage(): print 'cam.py [create|setup|rollout|update] []' sys.exit(3) argv = sys.argv[1:] config = Config() # RUNBOT # ./cam runbot create [db] [port] [working-dir] if argv[0] == 'runbot': import os cmd = argv[1] db = argv[2] port = argv[3] setup_path = argv[4] env = Environment('http://localhost', port, db, 'admin', 'admin', 'admin') os.chdir(setup_path) else: if not len(argv) == 2: if len(argv) == 3 and argv[1] in ['update','install']: # 'update' requires additional param 'module_name' pass else: _usage() cmd = argv[1] env = ENVIRONMENTS.get(argv[0],False) if not env: _usage() instance = CamadeusFunctions(env, config) methods = False if cmd == 'test': methods = [ 'login', ] if cmd == 'create': methods = [ 'create_db', 'login', 'install_module_sale', 'setup_accounting', 'setup_accounting2', 'set_admin_rights', ] if cmd == 'setup': methods = [ 'login', 'uninstall_chat', 'install_modules', 'set_warehouse', 'base_config', 'sale_config', 'hr_config', 'stock_config', 'mrp_config', 'stock_set_cost_method', 'set_incoterms', 'purchase_config', 'set_date_format', 'set_company', 'set_taxes', 'set_uom', 'set_steuerzuordnung', 'setup_journals', 'set_currencies', 'set_decimal_price', 'set_default_values', 'set_translations', 'set_default_removal_strategy', 'default_set_order_policy', 'delete_mail_server', 'update_values', ] if cmd == 'rollout': methods = [ 'login', 'set_dokumentennummern', 'set_dmi_noupdate', 'dmi_confirm_inventory', 'import_users', ] if cmd == 'update': instance.config.module_name = argv[2] methods = [ 'login', 'update_module', ] if cmd == 'install': instance.config.module_name = argv[2] methods = [ 'login', 'install_module', ] if cmd == 'update_modules': methods = [ 'login', 'update_modules', ] if cmd == 'update_all': methods = [ 'login', 'update_all', ] if not methods: _usage() print env for method in methods: res = getattr(instance, method)() print "%s: %s" % (res and "OK " or "ERROR ", getattr(instance, method).__doc__) if not res: return False print "\nAbgeschlossen." if __name__ == "__main__": main()