53 def __getattr__(self, key): |
53 def __getattr__(self, key): |
54 return getattr(self.parentui, key) |
54 return getattr(self.parentui, key) |
55 |
55 |
56 def updateopts(self, verbose=False, debug=False, quiet=False, |
56 def updateopts(self, verbose=False, debug=False, quiet=False, |
57 interactive=True, traceback=False, config=[]): |
57 interactive=True, traceback=False, config=[]): |
58 self.quiet = (self.quiet or quiet) and not verbose and not debug |
58 self.quiet = self.quiet or quiet |
59 self.verbose = ((self.verbose or verbose) or debug) and not self.quiet |
59 self.verbose = self.verbose or verbose |
60 self.debugflag = (self.debugflag or debug) |
60 self.debugflag = self.debugflag or debug |
|
61 |
|
62 self.verbosity_constraints(quiet, verbose, debug) |
|
63 |
61 self.interactive = (self.interactive and interactive) |
64 self.interactive = (self.interactive and interactive) |
62 self.traceback = self.traceback or traceback |
65 self.traceback = self.traceback or traceback |
63 for section, name, value in config: |
66 for section, name, value in config: |
64 self.setconfig(section, name, value) |
67 self.setconfig(section, name, value) |
|
68 |
|
69 def verbosity_constraints(self, quiet, verbose, debug): |
|
70 if self.debugflag: |
|
71 self.verbose = True |
|
72 self.quiet = False |
|
73 elif self.verbose and self.quiet: |
|
74 if quiet and not verbose: |
|
75 self.verbose = False |
|
76 elif not quiet and verbose: |
|
77 self.quiet = False |
|
78 else: |
|
79 self.quiet = self.verbose = False |
65 |
80 |
66 def readconfig(self, fn, root=None): |
81 def readconfig(self, fn, root=None): |
67 if isinstance(fn, basestring): |
82 if isinstance(fn, basestring): |
68 fn = [fn] |
83 fn = [fn] |
69 for f in fn: |
84 for f in fn: |