mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	Apply modified SF patch 467580: ConfigParser.getboolean(): FALSE, TRUE.
This patch allows ConfigParser.getboolean() to interpret TRUE,
    FALSE, YES, NO, ON and OFF instead just '0' and '1'.
    While just allowing '0' and '1' sounds more correct users often
    demand to use more descriptive directives in configuration
    files. Instead of forcing every programmer do brew his own
    solution a system should include the batteries for this.
[My modification to the patch is a slight rewording of the docstring
and use of lowercase instead of uppercase templates.  The code is
still case sensitive. GvR.]
			
			
This commit is contained in:
		
							parent
							
								
									266410355f
								
							
						
					
					
						commit
						fb06f75c5a
					
				
					 1 changed files with 8 additions and 6 deletions
				
			
		|  | @ -66,8 +66,9 @@ | |||
|         like get(), but convert value to a float | ||||
| 
 | ||||
|     getboolean(section, options) | ||||
|         like get(), but convert value to a boolean (currently defined as 0 or | ||||
|         1, only) | ||||
|         like get(), but convert value to a boolean (currently case | ||||
|         insensitively defined as 0, false, no, off for 0, and 1, true, | ||||
|         yes, on for 1).  Returns 0 or 1. | ||||
| 
 | ||||
|     remove_section(section) | ||||
|         remove the given file section and all its options | ||||
|  | @ -306,11 +307,12 @@ def getfloat(self, section, option): | |||
|         return self.__get(section, string.atof, option) | ||||
| 
 | ||||
|     def getboolean(self, section, option): | ||||
|         states = {'1': 1, 'yes': 1, 'true': 1, 'on': 1, | ||||
|                   '0': 0, 'no': 0, 'false': 0, 'off': 0} | ||||
|         v = self.get(section, option)        | ||||
|         val = int(v) | ||||
|         if val not in (0, 1): | ||||
|         if not states.has_key(v.lower()): | ||||
|             raise ValueError, 'Not a boolean: %s' % v | ||||
|         return val | ||||
|         return states[v.lower()] | ||||
| 
 | ||||
|     def optionxform(self, optionstr): | ||||
|         return optionstr.lower() | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Guido van Rossum
						Guido van Rossum