Convert string exceptions to classes, string exceptions are deprecated
authorNeal Norwitz <nnorwitz@gmail.com>
Sat, 30 Nov 2002 19:10:19 +0000 (19:10 +0000)
committerNeal Norwitz <nnorwitz@gmail.com>
Sat, 30 Nov 2002 19:10:19 +0000 (19:10 +0000)
Lib/idlelib/configHandler.py
Lib/idlelib/tabpage.py

index d3a88f27c0f1811bedfde7bfa01b66ff6f195096..694438885b5cc7eb3d08195255e0ba9799cb2f78 100644 (file)
@@ -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=';')
index dc1ca8b816bed599f1984d57fe8fce073df64116..5b65601ce5cd3c743ae7f50a1d993d2ee15cf7b0 100644 (file)
@@ -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()