Mercurial > hg > mercurial-crew-with-dirclash
comparison mercurial/ui.py @ 1473:7d66ce9895fa
make readconfig take a filename instead of a file pointer as argument
catch parse error while reading a config file
add a testcase for parse error
author | Benoit Boissinot <benoit.boissinot@ens-lyon.org> |
---|---|
date | Thu, 27 Oct 2005 13:40:56 -0700 |
parents | bf109779f48b |
children | a4ba63e04134 |
comparison
equal
deleted
inserted
replaced
1472:3c909a747d7f | 1473:7d66ce9895fa |
---|---|
13 class ui: | 13 class ui: |
14 def __init__(self, verbose=False, debug=False, quiet=False, | 14 def __init__(self, verbose=False, debug=False, quiet=False, |
15 interactive=True): | 15 interactive=True): |
16 self.overlay = {} | 16 self.overlay = {} |
17 self.cdata = ConfigParser.SafeConfigParser() | 17 self.cdata = ConfigParser.SafeConfigParser() |
18 self.cdata.read(util.rcpath) | 18 self.readconfig(util.rcpath) |
19 | 19 |
20 self.quiet = self.configbool("ui", "quiet") | 20 self.quiet = self.configbool("ui", "quiet") |
21 self.verbose = self.configbool("ui", "verbose") | 21 self.verbose = self.configbool("ui", "verbose") |
22 self.debugflag = self.configbool("ui", "debug") | 22 self.debugflag = self.configbool("ui", "debug") |
23 self.interactive = self.configbool("ui", "interactive", True) | 23 self.interactive = self.configbool("ui", "interactive", True) |
29 self.quiet = (self.quiet or quiet) and not verbose and not debug | 29 self.quiet = (self.quiet or quiet) and not verbose and not debug |
30 self.verbose = (self.verbose or verbose) or debug | 30 self.verbose = (self.verbose or verbose) or debug |
31 self.debugflag = (self.debugflag or debug) | 31 self.debugflag = (self.debugflag or debug) |
32 self.interactive = (self.interactive and interactive) | 32 self.interactive = (self.interactive and interactive) |
33 | 33 |
34 def readconfig(self, fp): | 34 def readconfig(self, fn): |
35 self.cdata.readfp(fp) | 35 try: |
36 self.cdata.read(fn) | |
37 except ConfigParser.ParsingError, inst: | |
38 raise util.Abort(_("Failed to parse %s\n%s") % (fn, inst)) | |
36 | 39 |
37 def setconfig(self, section, name, val): | 40 def setconfig(self, section, name, val): |
38 self.overlay[(section, name)] = val | 41 self.overlay[(section, name)] = val |
39 | 42 |
40 def config(self, section, name, default=None): | 43 def config(self, section, name, default=None): |