def __create_menu(self, data): for text, func in data: if type(func) in (list, tuple): submenu = Menu() for _text, _ in func: _id = self.__text_and_item_data[_text].id sitem = MenuItem(submenu, _id, _text) submenu.AppendItem(sitem) self.AppendSubMenu(submenu, text) else: if text == self.SEPARATOR_TEXT: self.AppendSeparator() else: data = self.__text_and_item_data[text] item = MenuItem(self, data.id, text) self.AppendItem(item)
def notifyInApp(self): self.setUpdateData() if self.newData == None or self.get_update_fail == True: return update_string = "" update_changes = "" update_final_ver = self.getUpdateValue("updates", "latest_final_main") update_final_build = self.getUpdateValue("updates", "latest_final_build") update_beta_ver = self.getUpdateValue("updates", "latest_beta_main") update_beta_build = self.getUpdateValue("updates", "latest_beta_build") if bool(self.getUpdateValue("updates", "update")): if bool(self.cur_app_isbeta): if decimal.Decimal(update_beta_ver) > decimal.Decimal( self.cur_app_version): update_string = update_beta_ver + "b" + update_beta_build update_changes = self.getUpdateValue( "updates", "beta_changes") if decimal.Decimal(update_beta_build) > decimal.Decimal( self.cur_app_build): update_string = update_beta_ver + "b" + update_beta_build update_changes = self.getUpdateValue( "updates", "beta_changes") else: if decimal.Decimal(update_final_ver) > decimal.Decimal( self.cur_app_version): update_string = update_final_ver + "b" + update_final_build update_changes = self.getUpdateValue( "updates", "final_changes") if decimal.Decimal(update_final_build) > decimal.Decimal( self.cur_app_build): update_string = update_final_ver + "b" + update_final_build update_changes = self.getUpdateValue( "updates", "final_changes") if bool(self.getUpdateValue("updates", "notification")): self.notify_msg = self.getUpdateValue("updates", "notification_msg") if self.parent.close_after_update: self.parent.Destroy() if update_string != "": from wx import Menu, MenuItem, EVT_MENU self.parent.update_ver = update_string + ( "beta" if self.cur_app_isbeta else "") self.parent.update_changes = ("\n".join( update_changes.split('\\n'))) updateMenu = Menu() updateMenu.AppendItem( MenuItem(updateMenu, 300, 'Version ' + update_string)) self.parent.Bind(EVT_MENU, self.parent.showUpdate, id=300) self.parent.menuBar.Append(updateMenu, "Update Available ") if self.parent.close_after_update: self.parent.Destroy()