if f is not None: f.close() self.__menu.sort(cmp=my_cmp) md5 = hashlib.md5() for item in self.__menu: item.update_checksum(md5) menu_checksum = md5.hexdigest() iface = Client.get_interface('FABLIK_BASE') inputVar = iface.create_variable('RequestGetMainMenu') inputVar.session_id = Config.getSessionID() inputVar.checksum = menu_checksum inputVar.lang_sid = Config.getLangSid() result = iface.call('getMainMenu', inputVar) if result.ret_code != 0: raise Exception(result.ret_message) if len(result.menu_list) == 0: LogManager.info('Menu cache is valid. Use it') return self.__menu = [] for item in result.menu_list[0]: menuitem = MenuItem(item.id, item.help, item.name, item.form_sid, 0, item.parent_id, item.shortcut) self.__menu.append(menuitem)
def __load_form_lang(cls, form_path): lang_sid = Config.getLangSid() lang_file = 'translate_%s.qm' % lang_sid mainWindow.loadTranslateFile(lang_file, os.path.join(form_path,'lang'))