Rajout du gestionnaire OpenERP
[oegtk/easy_starter.git] / oestarter / manager.py
1 #!/usr/bin/python3
2 #-*- coding: utf-8 -*-
3
4 import subprocess
5
6 class OEManager:
7     def __init__(self, path_server, path_addons):
8         self.path_server = path_server
9         self.path_addons = path_addons
10
11     def action(self, action, modules, bases, scripts):
12         option, base = '', bases[0]
13
14         if action == 'Réinstaller':
15             # Supprimer et recréer la base
16             self.new_database(base)
17             # Passer les scripts
18             self.call_scripts(scripts)
19             # Gérer l'option de réinstallation
20             option = '-i'
21         elif action == 'Mettre à jour':
22             # Gérer l'option de mise à jour
23             option = '-u'
24
25         # Paramétrer correctement l'option -i ou -u
26         if option:
27             option += ' ' + ','.join(modules) + ' '
28
29         self.start_openerp(option, base)
30
31     def new_database(self, base):
32         subprocess.getstatusoutput("dropdb %s" % base)
33         subprocess.getstatusoutput("createdb %s" % base)
34
35     def call_scripts(self, scripts):
36         for script in scripts:
37             subprocess.getstatusoutput(script)
38
39     def start_openerp(self, option, base):
40         commande = '%s --addons-path=%s %s-d %s' % (
41             self.path_server,
42             self.path_addons,
43             option,
44             base
45         )
46         subprocess.getstatusoutput(commande)