odoo/setup/lib/cli.py

119 lines
2.6 KiB
Python
Executable File

# -*- coding: utf-8 -*-
from functions import CamadeusFunctions
from config_at import Config
from environments import ENVIRONMENTS
import sys, getopt
def main():
def _usage():
print 'cam.py <environment> [create|setup|rollout|update] [<module_name>]'
sys.exit(3)
argv = sys.argv[1:]
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]
config = Config()
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',
'stock_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',
]
if cmd == 'rollout':
methods = [
'login',
'set_dokumentennummern',
'set_dmi_noupdate',
'dmi_confirm_inventory',
'setup_mail_server',
]
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()