-def test_action_on_start_button(action, modules, bases, scripts):
- print("""Éléments récupérés :
-modules :
-%s
-bases
-%s
-scripts
-%s
-action
-%s""" % (modules, bases, scripts, action))
+class OEManager:
+ def __init__(self, path_server, path_addons):
+ self.path_server = path_server
+ self.path_addons = path_addons
+
+ def action(self, action, modules, bases, scripts):
+ option, base = '', bases[0]
+
+ if action == 'Réinstaller':
+ # Supprimer et recréer la base
+ self.new_database(base)
+ # Passer les scripts
+ self.call_scripts(scripts)
+ # Gérer l'option de réinstallation
+ option = '-i'
+ elif action == 'Mettre à jour':
+ # Gérer l'option de mise à jour
+ option = '-u'
+
+ # Paramétrer correctement l'option -i ou -u
+ if option:
+ option += ' ' + ','.join(modules) + ' '
+
+ self.start_openerp(option, base)
+
+ def new_database(self, base):
+ subprocess.getstatusoutput("dropdb %s" % base)
+ subprocess.getstatusoutput("createdb %s" % base)
+
+ def call_scripts(self, scripts):
+ for script in scripts:
+ subprocess.getstatusoutput(script)
+
+ def start_openerp(self, option, base):
+ commande = '%s --addons-path=%s %s-d %s' % (
+ self.path_server,
+ self.path_addons,
+ option,
+ base
+ )
+ subprocess.getstatusoutput(commande)