⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 configreader.py

📁 ABC-win32-v3.1 一个P2P软源代码
💻 PY
📖 第 1 页 / 共 4 页
字号:
    
            self.buffering_checkbox = wxCheckBox(panel, -1, "Enable read/write buffering *")
            self.buffering_checkbox.SetFont(self.default_font)
            self.buffering_checkbox.SetValue(self.config['buffer_reads'])
    
            self.breakup_checkbox = wxCheckBox(panel, -1, "Break-up seed bitfield to foil ISP manipulation")
            self.breakup_checkbox.SetFont(self.default_font)
            self.breakup_checkbox.SetValue(self.config['breakup_seed_bitfield'])

            self.autoflush_checkbox = wxCheckBox(panel, -1, "Flush data to disk every 5 minutes")
            self.autoflush_checkbox.SetFont(self.default_font)
            self.autoflush_checkbox.SetValue(self.config['auto_flush'])
    
            if sys.version_info >= (2, 3) and socket.has_ipv6:
                self.ipv6enabled_checkbox = wxCheckBox(panel, -1, "Initiate and receive connections via IPv6 *")
                self.ipv6enabled_checkbox.SetFont(self.default_font)
                self.ipv6enabled_checkbox.SetValue(self.config['ipv6_enabled'])
    
            self.gui_forcegreenonfirewall_checkbox = wxCheckBox(panel, -1, 
                                "Force icon to display green when firewalled")
            self.gui_forcegreenonfirewall_checkbox.SetFont(self.default_font)
            self.gui_forcegreenonfirewall_checkbox.SetValue(self.config['gui_forcegreenonfirewall'])
    
    
            self.minport_data = wxSpinCtrl(panel, -1, '', (-1, -1), (self.FONT*8, -1))
            self.minport_data.SetFont(self.default_font)
            self.minport_data.SetRange(1, 65535)
            self.minport_data.SetValue(self.config['minport'])
    
            self.maxport_data = wxSpinCtrl(panel, -1, '', (-1, -1), (self.FONT*8, -1))
            self.maxport_data.SetFont(self.default_font)
            self.maxport_data.SetRange(1, 65535)
            self.maxport_data.SetValue(self.config['maxport'])
            
            self.randomport_checkbox = wxCheckBox(panel, -1, "randomize")
            self.randomport_checkbox.SetFont(self.default_font)
            self.randomport_checkbox.SetValue(self.config['random_port'])
            
            self.gui_font_data = wxSpinCtrl(panel, -1, '', (-1, -1), (self.FONT*5, -1))
            self.gui_font_data.SetFont(self.default_font)
            self.gui_font_data.SetRange(8, 16)
            self.gui_font_data.SetValue(self.config['gui_font'])
    
            self.gui_ratesettingsdefault_data=wxChoice(panel, -1, choices = ratesettingslist)
            self.gui_ratesettingsdefault_data.SetFont(self.default_font)
            self.gui_ratesettingsdefault_data.SetStringSelection(self.config['gui_ratesettingsdefault'])
    
            self.maxdownload_data = wxSpinCtrl(panel, -1, '', (-1, -1), (self.FONT*7, -1))
            self.maxdownload_data.SetFont(self.default_font)
            self.maxdownload_data.SetRange(0, 5000)
            self.maxdownload_data.SetValue(self.config['max_download_rate'])
    
            self.gui_ratesettingsmode_data=wxRadioBox(panel, -1, 'Rate Settings Mode', 
                     choices = [ 'none', 'basic', 'full' ])
            self.gui_ratesettingsmode_data.SetFont(self.default_font)
            self.gui_ratesettingsmode_data.SetStringSelection(self.config['gui_ratesettingsmode'])
    
            if (sys.platform == 'win32'):
                self.win32_taskbar_icon_checkbox = wxCheckBox(panel, -1, "Minimize to system tray")
                self.win32_taskbar_icon_checkbox.SetFont(self.default_font)
                self.win32_taskbar_icon_checkbox.SetValue(self.config['win32_taskbar_icon'])
                
    #            self.upnp_checkbox = wxCheckBox(panel, -1, "Enable automatic UPnP port forwarding")
    #            self.upnp_checkbox.SetFont(self.default_font)
    #            self.upnp_checkbox.SetValue(self.config['upnp_nat_access'])
                self.upnp_data=wxChoice(panel, -1, 
                            choices = ['disabled', 'type 1 (fast)', 'type 2 (slow)'])
                self.upnp_data.SetFont(self.default_font)
                self.upnp_data.SetSelection(self.config['upnp_nat_access'])
    
            self.gui_default_savedir_ctrl = wxTextCtrl(parent = panel, id = -1, 
                                value = self.config['gui_default_savedir'], 
                                size = (26*self.FONT, -1), style = wxTE_PROCESS_TAB)
            self.gui_default_savedir_ctrl.SetFont(self.default_font)
    
            self.gui_savemode_data=wxRadioBox(panel, -1, 'Ask where to save: *', 
                     choices = [ 'always', 'never', 'auto-resume' ])
            self.gui_savemode_data.SetFont(self.default_font)
            self.gui_savemode_data.SetSelection(1-self.config['gui_saveas_ask'])
    
            self.checkingcolor_icon = wxEmptyBitmap(16, 16)
            self.checkingcolor_iconptr = wxStaticBitmap(panel, -1, self.checkingcolor_icon)
            self.setColorIcon(self.checkingcolor_icon, self.checkingcolor_iconptr, self.checkingcolor)
    
            self.downloadcolor_icon = wxEmptyBitmap(16, 16)
            self.downloadcolor_iconptr = wxStaticBitmap(panel, -1, self.downloadcolor_icon)
            self.setColorIcon(self.downloadcolor_icon, self.downloadcolor_iconptr, self.downloadcolor)
    
            self.seedingcolor_icon = wxEmptyBitmap(16, 16)
            self.seedingcolor_iconptr = wxStaticBitmap(panel, -1, self.seedingcolor_icon)
            self.setColorIcon(self.seedingcolor_icon, self.downloadcolor_iconptr, self.seedingcolor)
            
            rowsizer = wxFlexGridSizer(cols = 2, hgap = 20)
    
            block12sizer = wxFlexGridSizer(cols = 1, vgap = 7)
    
            block1sizer = wxFlexGridSizer(cols = 1, vgap = 2)
            if (sys.platform == 'win32'):
                block1sizer.Add(self.win32_taskbar_icon_checkbox)
    #            block1sizer.Add(self.upnp_checkbox)
            block1sizer.Add(self.gui_stretchwindow_checkbox)
            block1sizer.Add(self.gui_displaystats_checkbox)
            block1sizer.Add(self.gui_displaymiscstats_checkbox)
            block1sizer.Add(self.security_checkbox)
            block1sizer.Add(self.autokick_checkbox)
            block1sizer.Add(self.buffering_checkbox)
            block1sizer.Add(self.breakup_checkbox)
            block1sizer.Add(self.autoflush_checkbox)
            if sys.version_info >= (2, 3) and socket.has_ipv6:
                block1sizer.Add(self.ipv6enabled_checkbox)
            block1sizer.Add(self.gui_forcegreenonfirewall_checkbox)
    
            block12sizer.Add(block1sizer)
    
            colorsizer = wxStaticBoxSizer(wxStaticBox(panel, -1, "Gauge Colors:"), wxVERTICAL)
            colorsizer1 = wxFlexGridSizer(cols = 7)
            colorsizer1.Add(StaticText('           Checking: '), 1, wxALIGN_BOTTOM)
            colorsizer1.Add(self.checkingcolor_iconptr, 1, wxALIGN_BOTTOM)
            colorsizer1.Add(StaticText('   Downloading: '), 1, wxALIGN_BOTTOM)
            colorsizer1.Add(self.downloadcolor_iconptr, 1, wxALIGN_BOTTOM)
            colorsizer1.Add(StaticText('   Seeding: '), 1, wxALIGN_BOTTOM)
            colorsizer1.Add(self.seedingcolor_iconptr, 1, wxALIGN_BOTTOM)
            colorsizer1.Add(StaticText('  '))
            minsize = self.checkingcolor_iconptr.GetBestSize()
            minsize.SetHeight(minsize.GetHeight()+5)
            colorsizer1.SetMinSize(minsize)
            colorsizer.Add(colorsizer1)
           
            block12sizer.Add(colorsizer, 1, wxALIGN_LEFT)
    
            rowsizer.Add(block12sizer)
    
            block3sizer = wxFlexGridSizer(cols = 1)
    
            portsettingsSizer = wxStaticBoxSizer(wxStaticBox(panel, -1, "Port Range:*"), wxVERTICAL)
            portsettingsSizer1 = wxGridSizer(cols = 2, vgap = 1)
            portsettingsSizer1.Add(StaticText('From: '), 1, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT)
            portsettingsSizer1.Add(self.minport_data, 1, wxALIGN_BOTTOM)
            portsettingsSizer1.Add(StaticText('To: '), 1, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT)
            portsettingsSizer1.Add(self.maxport_data, 1, wxALIGN_BOTTOM)
            portsettingsSizer.Add(portsettingsSizer1)
            portsettingsSizer.Add(self.randomport_checkbox, 1, wxALIGN_CENTER)
            block3sizer.Add(portsettingsSizer, 1, wxALIGN_CENTER)
            block3sizer.Add(StaticText(' '))
            block3sizer.Add(self.gui_ratesettingsmode_data, 1, wxALIGN_CENTER)
            block3sizer.Add(StaticText(' '))
            ratesettingsSizer = wxFlexGridSizer(cols = 1, vgap = 2)
            ratesettingsSizer.Add(StaticText('Default Rate Setting: *'), 1, wxALIGN_CENTER)
            ratesettingsSizer.Add(self.gui_ratesettingsdefault_data, 1, wxALIGN_CENTER)
            block3sizer.Add(ratesettingsSizer, 1, wxALIGN_CENTER)
            if (sys.platform == 'win32'):
                block3sizer.Add(StaticText(' '))
                upnpSizer = wxFlexGridSizer(cols = 1, vgap = 2)
                upnpSizer.Add(StaticText('UPnP Port Forwarding: *'), 1, wxALIGN_CENTER)
                upnpSizer.Add(self.upnp_data, 1, wxALIGN_CENTER)
                block3sizer.Add(upnpSizer, 1, wxALIGN_CENTER)
            
            rowsizer.Add(block3sizer)
            colsizer.Add(rowsizer)
    
            block4sizer = wxFlexGridSizer(cols = 3, hgap = 15)        
            savepathsizer = wxFlexGridSizer(cols = 2, vgap = 1)
            savepathsizer.Add(StaticText('Default Save Path: *'))
            savepathsizer.Add(StaticText(' '))
            savepathsizer.Add(self.gui_default_savedir_ctrl, 1, wxEXPAND)
            savepathButton = wxButton(panel, -1, '...', size = (18, 18))
    #        savepathButton.SetFont(self.default_font)
            savepathsizer.Add(savepathButton, 0, wxALIGN_CENTER)
            savepathsizer.Add(self.gui_savemode_data, 0, wxALIGN_CENTER)
            block4sizer.Add(savepathsizer, -1, wxALIGN_BOTTOM)
    
            fontsizer = wxFlexGridSizer(cols = 1, vgap = 2)
            fontsizer.Add(StaticText(''))
            fontsizer.Add(StaticText('Font: *'), 1, wxALIGN_CENTER)
            fontsizer.Add(self.gui_font_data, 1, wxALIGN_CENTER)
            block4sizer.Add(fontsizer, 1, wxALIGN_CENTER_VERTICAL)
    
            dratesettingsSizer = wxFlexGridSizer(cols = 1, vgap = 2)
            dratesettingsSizer.Add(StaticText('Default Max'), 1, wxALIGN_CENTER)
            dratesettingsSizer.Add(StaticText('Download Rate'), 1, wxALIGN_CENTER)
            dratesettingsSizer.Add(StaticText('(kB/s): *'), 1, wxALIGN_CENTER)
            dratesettingsSizer.Add(self.maxdownload_data, 1, wxALIGN_CENTER)
            dratesettingsSizer.Add(StaticText('(0 = disabled)'), 1, wxALIGN_CENTER)
            
            block4sizer.Add(dratesettingsSizer, 1, wxALIGN_CENTER_VERTICAL)
    
            colsizer.Add(block4sizer, 0, wxALIGN_CENTER)
    #        colsizer.Add(StaticText(' '))
    
            savesizer = wxGridSizer(cols = 4, hgap = 10)
            saveButton = wxButton(panel, -1, 'Save')
    #        saveButton.SetFont(self.default_font)
            savesizer.Add(saveButton, 0, wxALIGN_CENTER)
    
            cancelButton = wxButton(panel, -1, 'Cancel')
    #        cancelButton.SetFont(self.default_font)
            savesizer.Add(cancelButton, 0, wxALIGN_CENTER)
    
            defaultsButton = wxButton(panel, -1, 'Revert to Defaults')
    #        defaultsButton.SetFont(self.default_font)
            savesizer.Add(defaultsButton, 0, wxALIGN_CENTER)
    
            advancedButton = wxButton(panel, -1, 'Advanced...')
    #        advancedButton.SetFont(self.default_font)
            savesizer.Add(advancedButton, 0, wxALIGN_CENTER)
            colsizer.Add(savesizer, 1, wxALIGN_CENTER)
    
            resizewarningtext=StaticText('* These settings will not take effect until the next time you start BitTorrent', self.FONT-2)
            colsizer.Add(resizewarningtext, 1, wxALIGN_CENTER)
    
            border = wxBoxSizer(wxHORIZONTAL)
            border.Add(colsizer, 1, wxEXPAND | wxALL, 4)
            
            panel.SetSizer(border)
            panel.SetAutoLayout(True)
    
            self.advancedConfig = {}
    
            def setDefaults(evt, self = self):
                try:
                    self.minport_data.SetValue(self.defaults['minport'])
                    self.maxport_data.SetValue(self.defaults['maxport'])
                    self.randomport_checkbox.SetValue(self.defaults['random_port'])
                    self.gui_stretchwindow_checkbox.SetValue(self.defaults['gui_stretchwindow'])
                    self.gui_displaystats_checkbox.SetValue(self.defaults['gui_displaystats'])
                    self.gui_displaymiscstats_checkbox.SetValue(self.defaults['gui_displaymiscstats'])
                    self.security_checkbox.SetValue(self.defaults['security'])
                    self.autokick_checkbox.SetValue(self.defaults['auto_kick'])
                    self.buffering_checkbox.SetValue(self.defaults['buffer_reads'])
                    self.breakup_checkbox.SetValue(self.defaults['breakup_seed_bitfield'])
                    self.autoflush_checkbox.SetValue(self.defaults['auto_flush'])
                    if sys.version_info >= (2, 3) and socket.has_ipv6:
                        self.ipv6enabled_checkbox.SetValue(self.defaults['ipv6_enabled'])
                    self.gui_forcegreenonfirewall_checkbox.SetValue(self.defaults['gui_forcegreenonfirewall'])
                    self.gui_font_data.SetValue(self.defaults['gui_font'])
                    self.gui_ratesettingsdefault_data.SetStringSelection(self.defaults['gui_ratesettingsdefault'])
                    self.maxdownload_data.SetValue(self.defaults['max_download_rate'])
                    self.gui_ratesettingsmode_data.SetStringSelection(self.defaults['gui_ratesettingsmode'])
                    self.gui_default_savedir_ctrl.SetValue(self.defaults['gui_default_savedir'])
                    self.gui_savemode_data.SetSelection(1-self.defaults['gui_saveas_ask'])
        
                    self.checkingcolor = HexToColor(self.defaults['gui_checkingcolor'])
                    self.setColorIcon(self.checkingcolor_icon, self.checkingcolor_iconptr, self.checkingcolor)
                    self.downloadcolor = HexToColor(self.defaults['gui_downloadcolor'])
                    self.setColorIcon(self.downloadcolor_icon, self.downloadcolor_iconptr, self.downloadcolor)
                    self.seedingcolor = HexToColor(self.defaults['gui_seedingcolor'])
                    self.setColorIcon(self.seedingcolor_icon, self.seedingcolor_iconptr, self.seedingcolor)
        
                    if (sys.platform == 'win32'):
                        self.win32_taskbar_icon_checkbox.SetValue(self.defaults['win32_taskbar_icon'])
        #                self.upnp_checkbox.SetValue(self.defaults['upnp_nat_access'])
                        self.upnp_data.SetSelection(self.defaults['upnp_nat_access'])
        
                    # reset advanced too
                    self.advancedConfig = {}
                    for key in ['ip', 'bind', 'min_peers', 'max_initiate', 'display_interval', 
                'alloc_type', 'alloc_rate', 'max_files_open', 'max_connections', 'super_seeder', 
                'ipv6_binds_v4', 'double_check', 'triple_check', 'lock_files', 'lock_while_reading', 
                'expire_cache_data']:
                        self.advancedConfig[key] = self.defaults[key]
                    self.CloseAdvanced()
                except:
                    self.parent.exception()
    
    
            def saveConfigs(evt, self = self):
                try:
                    self.config['gui_stretchwindow']=int(self.gui_stretchwindow_checkbox.GetValue())

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -