10 demandload(globals(), "re socket sys util") |
10 demandload(globals(), "re socket sys util") |
11 |
11 |
12 class ui: |
12 class ui: |
13 def __init__(self, verbose=False, debug=False, quiet=False, |
13 def __init__(self, verbose=False, debug=False, quiet=False, |
14 interactive=True): |
14 interactive=True): |
|
15 self.overlay = {} |
15 self.cdata = ConfigParser.SafeConfigParser() |
16 self.cdata = ConfigParser.SafeConfigParser() |
16 self.cdata.read([os.path.normpath(hgrc) for hgrc in |
17 self.cdata.read([os.path.normpath(hgrc) for hgrc in |
17 "/etc/mercurial/hgrc", os.path.expanduser("~/.hgrc")]) |
18 "/etc/mercurial/hgrc", os.path.expanduser("~/.hgrc")]) |
18 |
19 |
19 self.quiet = self.configbool("ui", "quiet") |
20 self.quiet = self.configbool("ui", "quiet") |
27 self.interactive = (self.interactive and interactive) |
28 self.interactive = (self.interactive and interactive) |
28 |
29 |
29 def readconfig(self, fp): |
30 def readconfig(self, fp): |
30 self.cdata.readfp(fp) |
31 self.cdata.readfp(fp) |
31 |
32 |
32 def config(self, section, val, default=None): |
33 def setconfig(self, section, name, val): |
33 if self.cdata.has_option(section, val): |
34 self.overlay[(section, name)] = val |
34 return self.cdata.get(section, val) |
35 |
|
36 def config(self, section, name, default=None): |
|
37 if self.overlay.has_key((section, name)): |
|
38 return self.overlay[(section, name)] |
|
39 if self.cdata.has_option(section, name): |
|
40 return self.cdata.get(section, name) |
35 return default |
41 return default |
36 |
42 |
37 def configbool(self, section, val, default=False): |
43 def configbool(self, section, name, default=False): |
38 if self.cdata.has_option(section, val): |
44 if self.overlay.has_key((section, name)): |
39 return self.cdata.getboolean(section, val) |
45 return self.overlay[(section, name)] |
|
46 if self.cdata.has_option(section, name): |
|
47 return self.cdata.getboolean(section, name) |
40 return default |
48 return default |
41 |
49 |
42 def configitems(self, section): |
50 def configitems(self, section): |
43 if self.cdata.has_section(section): |
51 if self.cdata.has_section(section): |
44 return self.cdata.items(section) |
52 return self.cdata.items(section) |