def newFatalError(self, msg, title=None, parent=None): from org.pyut.errorcontroller.ErrorManager import ErrorManager # Avoid cyclical dependency if title is None: title = _("An error occurred...") errMsg: str = ErrorManager.getErrorInfo() self.logger.error(f"FATAL ERROR: {title} {errMsg} - parent {parent}")
def displayError(msg, title=None, parent=None): """ Display an error """ errMsg: str = ErrorManager.getErrorInfo() try: em = getErrorManager() em.newFatalError(msg, title, parent) except (ValueError, Exception) as e: eLog: Logger = getLogger(__name__) # TODO I don't this is correct anymore eLog.error("Error in PyutUtils/displayError") eLog.error(f"Original error message was: {e}") eLog.error(errMsg) eLog.error("") eLog.error("New error is : ") errMsg = ErrorManager.getErrorInfo() eLog.error(errMsg)
def _makeCalls(em: ErrorManager, viewType: ErrorViewTypes): em.changeType(viewType) em.displayInformation(msg=f'{viewType} Message', title=f'{viewType} Title', parent=None) em.newWarning(msg=f'{viewType} - Warning Message', title=f'{viewType} - WarningTitle', parent=None) em.newFatalError(msg=f'{viewType}: Fatal Message', title=f'{viewType} - Fatal Title', parent=None)
def newFatalError(self, msg, title=None, parent=None): from org.pyut.errorcontroller.ErrorManager import ErrorManager # Avoid cyclical dependency if title is None: title = _("An error occurred...") errMsg: str = msg + "\n\n" errorInfo: str = ErrorManager.getErrorInfo() if errorInfo is not None: errMsg = f'{errMsg}{ErrorManager.getErrorInfo()}' try: dlg = MessageDialog(parent, errMsg, title, OK | ICON_ERROR | CENTRE) dlg.ShowModal() dlg.Destroy() except (ValueError, Exception) as e: self.logger.error(f'newFatalError: {e}')
def importLanguage(): moduleLogger: Logger = getLogger(__name__) prefs: PyutPreferences = PyutPreferences() language = prefs.i18n if language not in LANGUAGES: language = DEFAULT_LANG # Set the language for the application moduleLogger.debug(f'Installing language <{language}>') try: wxLangID: int = LANGUAGES[language][1] domain: str = "Pyut" orgDirectory: str = prefs.orgDirectory moduleLogger.debug(f'orgDirectory: {orgDirectory}') localedir: str = f'{orgDirectory}{osSep}{Lang.LOCALE_DIRECTORY}' method = 1 # Really ? if method == 0: # Possibility to load all languages, then do an install on fly tr = gettext.translation(domain, localedir, languages=[language]) tr.install(True) elif method == 1: # Set locale for wxWidget loc = Locale(wxLangID) loc.AddCatalogLookupPathPrefix(localedir) loc.AddCatalog(domain) moduleLogger.info(f'Encoding name is {loc.GetCanonicalName()}') myTrans = gettext.translation(domain, localedir, [loc.GetCanonicalName()], fallback=True) myTrans.install() except (ValueError, Exception) as e: # If there has been a problem with i18n moduleLogger.error(f'Problem with language setting. Error: {e}') errMsg = ErrorManager.getErrorInfo() moduleLogger.error(errMsg)
def OnInit(self): """ """ provider: SimpleHelpProvider = SimpleHelpProvider() HelpProvider.Set(provider) try: # Create the SplashScreen if self._showSplash: bmp: Bitmap = splashImage.GetBitmap() self.splash = SplashScreen(bmp, SPLASH_CENTRE_ON_PARENT | SPLASH_TIMEOUT, PyutApp.SPLASH_TIMEOUT_MSECS, parent=None, pos=wxDefaultPosition, size=wxDefaultSize) self.logger.debug(f'Showing splash screen') self.splash.Show(True) wxYield() self._frame: AppFrame = AppFrame(cast(AppFrame, None), ID_ANY, "Pyut") self.SetTopWindow(self._frame) self._AfterSplash() return True except (ValueError, Exception) as e: self.logger.error(f'{e}') dlg = MessageDialog( None, _(f"The following error occurred: {exc_info()[1]}"), _("An error occurred..."), OK | ICON_ERROR) errMessage: str = ErrorManager.getErrorInfo() self.logger.debug(errMessage) dlg.ShowModal() dlg.Destroy() return False
def testAddToLogFile(self): ErrorManager.addToLogFile(title='A Test Log Entry Title', msg='This is only a test error message')