119 lines
2.6 KiB
Python
Executable File
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()
|