[PyWebMail-Checkins] webmail/webmail/utils __init__.py,1.14,1.15
Status: Beta
Brought to you by:
dubnerm
From: Michael D. <du...@us...> - 2008-03-02 17:12:45
|
Update of /cvsroot/pywebmail/webmail/webmail/utils In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24609 Modified Files: __init__.py Log Message: mutable XPrefixDict+default section handling in ConfigSection Index: __init__.py =================================================================== RCS file: /cvsroot/pywebmail/webmail/webmail/utils/__init__.py,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** __init__.py 16 Jul 2007 21:59:32 -0000 1.14 --- __init__.py 2 Mar 2008 17:12:47 -0000 1.15 *************** *** 137,140 **** --- 137,144 ---- def __getitem__(self, name): return self.config[self.prefix+name] + def __setitem__(self, name, value): + self.config[self.prefix+name] = value + def __delitem__(self, name): + del self.config[self.prefix+name] def keys(self): result = [] *************** *** 151,166 **** def get(self, name, default=''): try: ! return self[self.prefix+name] except KeyError: return default class ConfigSection: ! from ConfigParser import NoOptionError _NoOptionError = NoOptionError ! del NoOptionError def __init__(self, parent_config, section_name): self.config = parent_config self.section = section_name def __len__(self): if not self.config.has_section(self.section): return 0 return len(self.keys()) --- 155,173 ---- def get(self, name, default=''): try: ! return self.config[self.prefix+name] except KeyError: return default class ConfigSection: ! from ConfigParser import NoOptionError, DEFAULTSECT _NoOptionError = NoOptionError ! _DEFAULTSECT = DEFAULTSECT ! del NoOptionError, DEFAULTSECT def __init__(self, parent_config, section_name): self.config = parent_config self.section = section_name def __len__(self): + if self.section == ConfigSection._DEFAULTSECT: + return len(self.config.defaults()) if not self.config.has_section(self.section): return 0 return len(self.keys()) *************** *** 171,174 **** --- 178,183 ---- raise KeyError(name) def keys(self): + if self.section == ConfigSection._DEFAULTSECT: + return self.config.defaults().keys() return self.config.options(self.section) def has_key(self, name): *************** *** 178,181 **** --- 187,192 ---- return self[name] def values(self): + if self.section == ConfigSection._DEFAULTSECT: + return self.config.defaults().values() res = [] for k in self.keys(): *************** *** 183,186 **** --- 194,199 ---- return res def items(self): + if self.section == ConfigSection._DEFAULTSECT: + return self.config.defaults().items() res = [] for k in self.keys(): |