Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/ui.py @ 960:abfb5cc97fcd
Add ui.setconfig overlay
This can simplify option passing
author | mpm@selenic.com |
---|---|
date | Fri, 19 Aug 2005 21:25:25 -0800 |
parents | 52d8d81e72ad |
children | 4f81068ed8cd |
comparison
equal
deleted
inserted
replaced
959:0aaeee519c66 | 960:abfb5cc97fcd |
---|---|
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) |