From 5b0b00fb21fe2649a60f9d8cd107d7efe6bc9dec Mon Sep 17 00:00:00 2001 From: Neal Norwitz Date: Sat, 30 Nov 2002 19:10:19 +0000 Subject: [PATCH] Convert string exceptions to classes, string exceptions are deprecated --- Lib/idlelib/configHandler.py | 15 ++++++++++----- Lib/idlelib/tabpage.py | 9 ++++++--- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/Lib/idlelib/configHandler.py b/Lib/idlelib/configHandler.py index d3a88f27c0f..694438885b5 100644 --- a/Lib/idlelib/configHandler.py +++ b/Lib/idlelib/configHandler.py @@ -11,6 +11,11 @@ Provides access to stored idle configuration information. import os, sys, string from ConfigParser import ConfigParser, NoOptionError, NoSectionError +class InvalidConfigType(Exception): pass +class InvalidConfigSet(Exception): pass +class InvalidFgBg(Exception): pass +class InvalidTheme(Exception): pass + class IdleConfParser(ConfigParser): """ A ConfigParser specialised for idle configuration file handling @@ -228,13 +233,13 @@ class IdleConf: configType must be one of ('main','extensions','highlight','keys') """ if not (configType in ('main','extensions','highlight','keys')): - raise 'Invalid configType specified' + raise InvalidConfigType, 'Invalid configType specified' if configSet == 'user': cfgParser=self.userCfg[configType] elif configSet == 'default': cfgParser=self.defaultCfg[configType] else: - raise 'Invalid configSet specified' + raise InvalidConfigSet, 'Invalid configSet specified' return cfgParser.sections() def GetHighlight(self, theme, element, fgBg=None): @@ -262,7 +267,7 @@ class IdleConf: if fgBg == 'bg': return highlight["background"] else: - raise 'Invalid fgBg specified' + raise InvalidFgBg, 'Invalid fgBg specified' def GetThemeDict(self,type,themeName): """ @@ -278,7 +283,7 @@ class IdleConf: elif type == 'default': cfgParser=self.defaultCfg['highlight'] else: - raise 'Invalid theme type specified' + raise InvalidTheme, 'Invalid theme type specified' #foreground and background values are provded for each theme element #(apart from cursor) even though all these values are not yet used #by idle, to allow for their use in the future. Default values are @@ -561,7 +566,7 @@ class IdleConf: elif configSet=='default': cfgParser=self.defaultCfg['main'] else: - raise 'Invalid configSet specified' + raise InvalidConfigSet, 'Invalid configSet specified' options=cfgParser.GetOptionList('HelpFiles') for option in options: value=cfgParser.Get('HelpFiles',option,default=';') diff --git a/Lib/idlelib/tabpage.py b/Lib/idlelib/tabpage.py index dc1ca8b816b..5b65601ce5c 100644 --- a/Lib/idlelib/tabpage.py +++ b/Lib/idlelib/tabpage.py @@ -4,6 +4,9 @@ a couple of classes for implementing partial tabbed-page like behaviour from Tkinter import * +class InvalidTabPage(Exception): pass +class AlreadyExists(Exception): pass + class PageTab(Frame): """ a 'page tab' like framed button @@ -43,7 +46,7 @@ class TabPageSet(Frame): if pageName in self.pages.keys(): self.activePage.set(pageName) else: - raise 'Invalid TabPage Name' + raise InvalidTabPage, 'Invalid TabPage Name' ## pop up the active 'tab' only for page in self.pages.keys(): self.pages[page]['tab'].config(relief=RIDGE) @@ -56,7 +59,7 @@ class TabPageSet(Frame): def AddPage(self,pageName): if pageName in self.pages.keys(): - raise 'TabPage Name Already Exists' + raise AlreadyExists, 'TabPage Name Already Exists' self.pages[pageName]={'tab':PageTab(self.tabBar), 'page':Frame(self,borderwidth=2,relief=RAISED)} self.pages[pageName]['tab'].button.config(text=pageName, @@ -71,7 +74,7 @@ class TabPageSet(Frame): def RemovePage(self,pageName): if not pageName in self.pages.keys(): - raise 'Invalid TabPage Name' + raise InvalidTabPage, 'Invalid TabPage Name' self.pages[pageName]['tab'].pack_forget() self.pages[pageName]['page'].grid_forget() self.pages[pageName]['tab'].destroy()