예제 #1
0
    def execute(self, instance_name=None):
        from lucterios.framework.settings import DEFAULT_LANGUAGES, get_locale_lang
        self._define_values()

        self.module_data = []
        self.modules.delete(0, END)
        for module_title, module_name in self.module_list:
            self.modules.insert(END, module_title)
            self.module_data.append(module_name)

        self.mode[VALUES] = self.mode_values
        self.language[VALUES] = self.lang_values
        self.typedb[VALUES] = self.dbtype_values
        self.applis[VALUES] = self.appli_list
        if instance_name is not None:
            self._load_current_data(instance_name)
        else:
            self.typedb.current(0)
            self.mode.current(2)
            if len(self.appli_list) > 0:
                self.applis.current(0)
            self.appli_selection(None)
            self.mode_selection(None)
            self.typedb_selection(None)
            for lang in DEFAULT_LANGUAGES:
                if lang[0] == get_locale_lang():
                    self.language.current(self.language[VALUES].index(lang[1]))
        center(self)
예제 #2
0
 def apply(self):
     from lucterios.framework.settings import DEFAULT_LANGUAGES, get_locale_lang
     if self.is_new_instance and (
         (self.name.get() == '') or
         (self.name_rull.match(self.name.get()) is None)):
         showerror(ugettext("Instance editor"), ugettext("Name invalid!"))
         return
     if self.applis.get() == '':
         showerror(ugettext("Instance editor"), ugettext("No application!"))
         return
     db_param = "%s:name=%s,user=%s,password=%s" % (
         self.typedb.get(), self.namedb.get(), self.userdb.get(),
         self.pwddb.get())
     security = "MODE=%s" % list(self.mode[VALUES]).index(self.mode.get())
     if self.password.get() != '':
         security += ",PASSWORD=%s" % self.password.get()
     module_list = [
         self.module_data[int(item)]
         for item in self.modules.curselection()
     ]
     appli_id = list(self.applis[VALUES]).index(self.applis.get())
     current_lang = get_locale_lang()
     for lang in DEFAULT_LANGUAGES:
         if lang[1] == self.language.get():
             current_lang = lang[0]
     self.result = (self.name.get(), self.mod_applis[appli_id][0],
                    ",".join(module_list), security, db_param, current_lang)
     self.destroy()
예제 #3
0
 def _load_current_data(self, instance_name):
     from lucterios.framework.settings import DEFAULT_LANGUAGES, get_locale_lang
     self.is_new_instance = False
     lct_inst = LucteriosInstance(instance_name)
     lct_inst.read()
     self.name.delete(0, END)
     self.name.insert(0, lct_inst.name)
     self.name.config(state=DISABLED)
     applis_id = 0
     for appli_iter in range(len(self.mod_applis)):
         if self.mod_applis[appli_iter][0] == lct_inst.appli_name:
             applis_id = appli_iter
             break
     self.applis.current(applis_id)
     if lct_inst.extra['']['mode'] is not None:
         self.mode.current(lct_inst.extra['']['mode'][0])
     else:
         self.mode.current(2)
     self.mode_selection(None)
     typedb_index = 0
     for typedb_idx in range(len(self.typedb[VALUES])):
         if self.typedb[VALUES][typedb_idx].lower(
         ) == lct_inst.database[0].lower():
             typedb_index = typedb_idx
             break
     self.typedb.current(typedb_index)
     self.typedb.config(state=DISABLED)
     self.typedb_selection(None)
     self.namedb.delete(0, END)
     if 'name' in lct_inst.database[1].keys():
         self.namedb.insert(0, lct_inst.database[1]['name'])
     self.userdb.delete(0, END)
     if 'user' in lct_inst.database[1].keys():
         self.userdb.insert(0, lct_inst.database[1]['user'])
     self.pwddb.delete(0, END)
     if 'password' in lct_inst.database[1].keys():
         self.pwddb.insert(0, lct_inst.database[1]['password'])
     self.modules.select_clear(0, self.modules.size())
     for mod_idx in range(len(self.module_data)):
         current_mod = self.module_data[mod_idx]
         if current_mod in lct_inst.modules:
             self.modules.select_set(mod_idx)
     current_lang = get_locale_lang()
     if 'LANGUAGE_CODE' in lct_inst.extra.keys():
         current_lang = lct_inst.extra['LANGUAGE_CODE']
     for lang in DEFAULT_LANGUAGES:
         if lang[0] == current_lang:
             self.language.current(self.language[VALUES].index(lang[1]))
예제 #4
0
 def _load_current_data(self, instance_name):
     from lucterios.framework.settings import DEFAULT_LANGUAGES, get_locale_lang
     self.is_new_instance = False
     lct_inst = LucteriosInstance(instance_name)
     lct_inst.read()
     self.name.delete(0, END)
     self.name.insert(0, lct_inst.name)
     self.name.config(state=DISABLED)
     applis_id = 0
     for appli_iter in range(len(self.mod_applis)):
         if self.mod_applis[appli_iter][0] == lct_inst.appli_name:
             applis_id = appli_iter
             break
     self.applis.current(applis_id)
     if lct_inst.extra['']['mode'] is not None:
         self.mode.current(lct_inst.extra['']['mode'][0])
     else:
         self.mode.current(2)
     self.mode_selection(None)
     typedb_index = 0
     for typedb_idx in range(len(self.typedb[VALUES])):
         if self.typedb[VALUES][typedb_idx].lower() == lct_inst.database[0].lower():
             typedb_index = typedb_idx
             break
     self.typedb.current(typedb_index)
     self.typedb.config(state=DISABLED)
     self.typedb_selection(None)
     self.namedb.delete(0, END)
     if 'name' in lct_inst.database[1].keys():
         self.namedb.insert(0, lct_inst.database[1]['name'])
     self.userdb.delete(0, END)
     if 'user' in lct_inst.database[1].keys():
         self.userdb.insert(0, lct_inst.database[1]['user'])
     self.pwddb.delete(0, END)
     if 'password' in lct_inst.database[1].keys():
         self.pwddb.insert(0, lct_inst.database[1]['password'])
     self.modules.select_clear(0, self.modules.size())
     for mod_idx in range(len(self.module_data)):
         current_mod = self.module_data[mod_idx]
         if current_mod in lct_inst.modules:
             self.modules.select_set(mod_idx)
     current_lang = get_locale_lang()
     if 'LANGUAGE_CODE' in lct_inst.extra.keys():
         current_lang = lct_inst.extra['LANGUAGE_CODE']
     for lang in DEFAULT_LANGUAGES:
         if lang[0] == current_lang:
             self.language.current(self.language[VALUES].index(lang[1]))
예제 #5
0
 def execute(self, instance_name=None):
     from lucterios.framework.settings import DEFAULT_LANGUAGES, get_locale_lang
     values = [
         six.text_type(ugettext_lazy("CORE-connectmode.0")),
         six.text_type(ugettext_lazy("CORE-connectmode.1")),
         six.text_type(ugettext_lazy("CORE-connectmode.2"))
     ]
     self.mode[VALUES] = values
     self.language[VALUES] = [lang[1] for lang in DEFAULT_LANGUAGES]
     self.typedb[VALUES] = ["SQLite", "MySQL", "PostgreSQL"]
     lct_glob = LucteriosGlobal()
     _, self.mod_applis, mod_modules = lct_glob.installed()
     self.mod_applis.sort(key=lambda item: get_module_title(item[0]))
     self.modules.delete(0, END)
     self.module_data = []
     module_list = []
     for mod_module_item in mod_modules:
         module_list.append(
             (get_module_title(mod_module_item[0]), mod_module_item[0]))
     module_list.sort(key=lambda module: module[0])
     for module_title, module_name in module_list:
         self.modules.insert(END, module_title)
         self.module_data.append(module_name)
     appli_list = []
     for mod_appli_item in self.mod_applis:
         appli_list.append(get_module_title(mod_appli_item[0]))
     self.applis[VALUES] = appli_list
     if instance_name is not None:
         self._load_current_data(instance_name)
     else:
         self.typedb.current(0)
         self.mode.current(2)
         if len(appli_list) > 0:
             self.applis.current(0)
         self.appli_selection(None)
         self.mode_selection(None)
         self.typedb_selection(None)
         for lang in DEFAULT_LANGUAGES:
             if lang[0] == get_locale_lang():
                 self.language.current(self.language[VALUES].index(lang[1]))
     center(self)
예제 #6
0
 def _get_instance_elements(self, instance_name):
     from lucterios.framework.settings import get_locale_lang
     lct_inst = LucteriosInstance(instance_name)
     lct_inst.read()
     applis_id = 0
     for appli_iter in range(len(self.mod_applis)):
         if self.mod_applis[appli_iter][0] == lct_inst.appli_name:
             applis_id = appli_iter
             break
     if lct_inst.extra['']['mode'] is not None:
         mode_id = lct_inst.extra['']['mode'][0]
     else:
         mode_id = 2
     typedb_index = 0
     for typedb_idx in range(len(self.dbtype_values)):
         if self.dbtype_values[typedb_idx].lower(
         ) == lct_inst.database[0].lower():
             typedb_index = typedb_idx
             break
     current_lang = get_locale_lang()
     if 'LANGUAGE_CODE' in lct_inst.extra.keys():
         current_lang = lct_inst.extra['LANGUAGE_CODE']
     return lct_inst, applis_id, mode_id, typedb_index, current_lang
예제 #7
0
 def execute(self, instance_name=None):
     from lucterios.framework.settings import DEFAULT_LANGUAGES, get_locale_lang
     self.mode[VALUES] = [ugettext(
         "CORE-connectmode.0"), ugettext("CORE-connectmode.1"), ugettext("CORE-connectmode.2")]
     self.language[VALUES] = [lang[1] for lang in DEFAULT_LANGUAGES]
     self.typedb[VALUES] = ["SQLite", "MySQL", "PostgreSQL"]
     lct_glob = LucteriosGlobal()
     _, self.mod_applis, mod_modules = lct_glob.installed()
     self.mod_applis.sort(key=lambda item: get_module_title(item[0]))
     self.modules.delete(0, END)
     self.module_data = []
     module_list = []
     for mod_module_item in mod_modules:
         module_list.append(
             (get_module_title(mod_module_item[0]), mod_module_item[0]))
     module_list.sort(key=lambda module: module[0])
     for module_title, module_name in module_list:
         self.modules.insert(END, module_title)
         self.module_data.append(module_name)
     appli_list = []
     for mod_appli_item in self.mod_applis:
         appli_list.append(get_module_title(mod_appli_item[0]))
     self.applis[VALUES] = appli_list
     if instance_name is not None:
         self._load_current_data(instance_name)
     else:
         self.typedb.current(0)
         self.mode.current(2)
         if len(appli_list) > 0:
             self.applis.current(0)
         self.appli_selection(None)
         self.mode_selection(None)
         self.typedb_selection(None)
         for lang in DEFAULT_LANGUAGES:
             if lang[0] == get_locale_lang():
                 self.language.current(self.language[VALUES].index(lang[1]))
     center(self)
예제 #8
0
 def apply(self):
     from lucterios.framework.settings import DEFAULT_LANGUAGES, get_locale_lang
     if self.name.get() == '':
         showerror(ugettext("Instance editor"), ugettext("Name empty!"))
         return
     if self.applis.get() == '':
         showerror(ugettext("Instance editor"), ugettext("No application!"))
         return
     db_param = "%s:name=%s,user=%s,password=%s" % (
         self.typedb.get(), self.namedb.get(), self.userdb.get(), self.pwddb.get())
     security = "MODE=%s" % list(
         self.mode[VALUES]).index(self.mode.get())
     if self.password.get() != '':
         security += ",PASSWORD=%s" % self.password.get()
     module_list = [
         self.module_data[int(item)] for item in self.modules.curselection()]
     appli_id = list(self.applis[VALUES]).index(self.applis.get())
     current_lang = get_locale_lang()
     for lang in DEFAULT_LANGUAGES:
         if lang[1] == self.language.get():
             current_lang = lang[0]
     self.result = (self.name.get(), self.mod_applis[appli_id][
                    0], ",".join(module_list), security, db_param, current_lang)
     self.destroy()