Ticket #8510: trac-config-cache.patch
| File trac-config-cache.patch, 1.7 KB (added by mixedpuppy <shanec@…>, 3 years ago) |
|---|
-
vendor/trac/trac/config.py
185 186 # Only save options that differ from the defaults 186 187 sections = [] 187 188 for section in self.sections(): 189 self[section].reset() 188 190 options = [] 189 191 for option in self[section]: 190 192 default = None … … 261 264 262 265 Objects of this class should not be instantiated directly. 263 266 """ 264 __slots__ = ['config', 'name', 'overridden' ]267 __slots__ = ['config', 'name', 'overridden', 'reset', '_cache'] 265 268 266 269 def __init__(self, config, name): 267 270 self.config = config 268 271 self.name = name 269 272 self.overridden = {} 273 self._cache = {} 270 274 275 def reset(self): 276 self._cache = {} 277 271 278 def __contains__(self, name): 272 279 if self.config.parser.has_option(self.name, name): 273 280 return True … … 294 301 return '<Section [%s]>' % (self.name) 295 302 296 303 def get(self, name, default=''): 304 if name not in self._cache: 305 self._cache[name] = self._get(name, default) 306 return self._cache[name] 307 308 def _get(self, name, default=''): 297 309 """Return the value of the specified option. 298 310 299 311 Valid default input is a string. Returns a string. … … 401 413 402 414 These changes are not persistent unless saved with `save()`. 403 415 """ 416 if name in self._cache: 417 del self._cache[name] 404 418 if not self.config.parser.has_section(self.name): 405 419 self.config.parser.add_section(self.name) 406 420 if value is None:
