コード例 #1
0
ファイル: main.py プロジェクト: xiaojielin/pybingwallpaper
def set_debug_details(level):
    if not level:
        l = log.INFO
    elif level == 1:
        l = log.DEBUG
    elif level >= 2:
        l = log.PAGEDUMP
    log.setDebugLevel(l)
コード例 #2
0
ファイル: main.py プロジェクト: LPLWWS/pybingwallpaper
def set_debug_details(level):
    if not level:
        l = log.INFO
    elif level == 1:
        l = log.DEBUG
    elif level >= 2:
        l = log.PAGEDUMP
    log.setDebugLevel(l)
コード例 #3
0
    def OnInit(self):
        sys.stdout = sys.__stdout__
        sys.stderr = sys.__stderr__

        # replace text based exception handler by a graphical exception dialog
        sys.excepthook = self.graphical_exception_handler

        # use graphical implementation to show caught exceptions
        self._exception_orig = logging.exception
        logging.exception = self.exception

        # needed for wx >= 2.3.4 to disable wxPyAssertionError exceptions
        if not config.debugging:
            self.SetAssertMode(0)

        common.init_preferences()
        if config.preferences.log_debug_info:
            log.setDebugLevel()

            # enable Python faulthandler to dump a traceback on SIGSEGV, SIGFPE, SIGABRT, SIGBUS, and SIGILL signals.
            try:
                import faulthandler
                faulthandler.enable()
                logging.info(_('Python faulthandler found and activated'))
            except ImportError:
                logging.debug(_('Python faulthandler not found'))
            except RuntimeError as details:
                logging.info(
                    _('Python faulthandler found, but enabling failed: %s'),
                    details)
            except Exception as details:
                logging.info(
                    _('Generic error during faulthandler initialisation: %s'),
                    details)

        self.locale = wx.Locale(wx.LANGUAGE_DEFAULT)  # avoid PyAssertionErrors
        compat.wx_ArtProviderPush(wxGladeArtProvider())

        frame = wxGladeFrame()
        self.SetTopWindow(frame)
        self.SetExitOnFrameDelete(True)

        self.Bind(wx.EVT_IDLE, self.OnIdle)

        return True
コード例 #4
0
def set_debug_details(level):
    if not level or level == '0':
        l = log.ERROR
    else:
        level = int(level)
        if level <= -1:
            l = log.PAGEDUMP
        elif level == 1:
            l = log.DEBUG
        elif level == 2:
            l = log.INFO
        elif level == 3:
            l = log.WARNING
        elif level == 4:
            l = log.ERROR
        elif level >= 5:
            l = log.CRITICAL
    log.setDebugLevel(l)
コード例 #5
0
ファイル: wxglade.py プロジェクト: ledudu/wxGlade
def init_stage2(use_gui):
    """Initialise the remaining (non-path) parts of wxGlade (second stage)
    use_gui: Starting wxGlade GUI"""
    config.use_gui = use_gui
    if use_gui:
        # import proper wx-module using wxversion, which is only available in Classic
        if compat.IS_CLASSIC:
            if not hasattr(sys, "frozen") and 'wx' not in sys.modules:
                try:
                    import wxversion
                    wxversion.ensureMinimal('2.8')
                except ImportError:
                    msg = _('Please install missing Python module "wxversion".')
                    logging.error(msg)
                    sys.exit(msg)

        try:
            import wx
        except ImportError:
            msg = _('Please install missing Python module "wxPython".')
            logging.error(msg)
            sys.exit(msg)

        # store current version and platform ('not_set' is default)
        config.platform = wx.Platform
        config.wx_version = wx.__version__
        
        if sys.platform=="win32":
            # register ".wxg" extension
            try:
                import msw
                msw.register_extensions(["wxg"], "wxGlade")
            except ImportError:
                pass

        # codewrites, widgets and sizers are loaded in class main.wxGladeFrame
    else:
        # use_gui has to be set before importing config
        common.init_preferences()
        if config.preferences.log_debug_info:
            log.setDebugLevel()
        common.init_codegen()
コード例 #6
0
            raise Exception('use property "{}" before loading'.format(propname))

    def __str__(self):
        s_basic = '<url="{}", loaded={}'.format(self.url, self.isloaded())
        if not self.isloaded():
            return s_basic + '>'
        s_all = s_basic + ', images="{}">'.format(self.get_images())
        return s_all

    def __repr__(self):
        return '{}({})'.format(self.__class__.__name__, repr(self.url))
    
    @staticmethod
    def validate_market(market_code):
        #
        if not re.match(r'\w\w-\w\w', market_code):
            raise ValueError('%s is not a valid market code.'%(market_code,))
        return True

if __name__ == '__main__':
    log.setDebugLevel(log.DEBUG)
    s = BingWallpaperPage()
    _logger.debug(repr(s))
    _logger.debug(str(s))
    s.load()
    _logger.debug(str(s))
    for i in s.get_images():
        l = i['url']
        with open(i['urlbase'].rpartition('/')[2]+'.jpg', 'wb') as of:
            of.write(webutil.loadurl(l))
コード例 #7
0
            inpath = path.replace('/', '\\')
            path   = "{}\\wallpaper.bmp".format(dirname(inpath))
            # windows only supports BMP, convert before setting
            try:
                convert_photo_to_bmp(inpath, path)
            except Exception as ex:
                self._logger.exception(ex)
                return False

            try:
                k = winreg.OpenKey(self.KEY, self.SUB_KEY, 0, winreg.KEY_READ|winreg.KEY_SET_VALUE)
                lastvalue = self._read_value(k)
                if lastvalue and self.BACKUP:
                    ret = self._set_value(k, lastvalue[0], self.VALUE_NAME+'Backup')
                self._set_value(k, '0', 'TileWallpaper')
                self._set_value(k, '10', 'WallpaperStyle')
                win32gui.SystemParametersInfo(SPI_SETDESKWALLPAPER, path, 1+2)
            except Exception as ex:
                ret = False
                self._logger.exception(ex)
            finally:
                if k: k.Close()
            return ret

    setter.register('win', Win32WallpaperSetter)

    if __name__ == '__main__':
        log.setDebugLevel(log.DEBUG)
        setter = Win32WallpaperSetter()
        setter.set(r'w.jpg', None)