コード例 #1
0
ファイル: TextErrorView.py プロジェクト: hasii2011/PyUt
    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}")
コード例 #2
0
ファイル: PyutUtils.py プロジェクト: hasii2011/PyUt
 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)
コード例 #3
0
ファイル: DebugErrorViews.py プロジェクト: hasii2011/PyUt
    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)
コード例 #4
0
    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}')
コード例 #5
0
    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)
コード例 #6
0
    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
コード例 #7
0
ファイル: TestErrorManager.py プロジェクト: hasii2011/PyUt
 def testAddToLogFile(self):
     ErrorManager.addToLogFile(title='A Test Log Entry Title',
                               msg='This is only a test error message')