Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/ui.py @ 1874:a84829140fb1
Inherit config from real parentui and don't use ConfigParser internals.
Added comments for the meaning of parentui.
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Fri, 10 Mar 2006 11:06:45 +0100 |
parents | 89a6ce5ae510 |
children | 2e0fd78587bd |
comparison
equal
deleted
inserted
replaced
1873:205f04b04ec6 | 1874:a84829140fb1 |
---|---|
12 | 12 |
13 class ui(object): | 13 class ui(object): |
14 def __init__(self, verbose=False, debug=False, quiet=False, | 14 def __init__(self, verbose=False, debug=False, quiet=False, |
15 interactive=True, parentui=None): | 15 interactive=True, parentui=None): |
16 self.overlay = {} | 16 self.overlay = {} |
17 self.cdata = ConfigParser.SafeConfigParser() | |
18 self.parentui = parentui and parentui.parentui or parentui | |
19 if parentui is None: | 17 if parentui is None: |
18 # this is the parent of all ui children | |
19 self.parentui = None | |
20 self.cdata = ConfigParser.SafeConfigParser() | |
20 self.readconfig(util.rcpath) | 21 self.readconfig(util.rcpath) |
21 | 22 |
22 self.quiet = self.configbool("ui", "quiet") | 23 self.quiet = self.configbool("ui", "quiet") |
23 self.verbose = self.configbool("ui", "verbose") | 24 self.verbose = self.configbool("ui", "verbose") |
24 self.debugflag = self.configbool("ui", "debug") | 25 self.debugflag = self.configbool("ui", "debug") |
25 self.interactive = self.configbool("ui", "interactive", True) | 26 self.interactive = self.configbool("ui", "interactive", True) |
26 | 27 |
27 self.updateopts(verbose, debug, quiet, interactive) | 28 self.updateopts(verbose, debug, quiet, interactive) |
28 self.diffcache = None | 29 self.diffcache = None |
29 else: | 30 else: |
30 self.cdata._defaults = parentui.cdata._defaults | 31 # parentui may point to an ui object which is already a child |
31 for key, value in parentui.cdata._sections.iteritems(): | 32 self.parentui = parentui.parentui or parentui |
32 self.cdata._sections[key] = value.copy() | 33 parent_cdata = self.parentui.cdata |
34 self.cdata = ConfigParser.SafeConfigParser(parent_cdata.defaults()) | |
35 # make interpolation work | |
36 for section in parent_cdata.sections(): | |
37 self.cdata.add_section(section) | |
38 for name, value in parent_cdata.items(section, raw=True): | |
39 self.cdata.set(section, name, value) | |
33 | 40 |
34 def __getattr__(self, key): | 41 def __getattr__(self, key): |
35 return getattr(self.parentui, key) | 42 return getattr(self.parentui, key) |
36 | 43 |
37 def updateopts(self, verbose=False, debug=False, quiet=False, | 44 def updateopts(self, verbose=False, debug=False, quiet=False, |