summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/portage/dispatch_conf.py14
1 files changed, 9 insertions, 5 deletions
diff --git a/pym/portage/dispatch_conf.py b/pym/portage/dispatch_conf.py
index df3134c75..49e53c2ee 100644
--- a/pym/portage/dispatch_conf.py
+++ b/pym/portage/dispatch_conf.py
@@ -21,15 +21,19 @@ RCS_MERGE = "rcsmerge -p -r" + RCS_BRANCH + " '%s' > '%s'"
DIFF3_MERGE = "diff3 -mE '%s' '%s' '%s' > '%s'"
def read_config(mandatory_opts):
- try:
- opts = portage.getconfig('/etc/dispatch-conf.conf')
- except:
- opts = None
-
+ loader = portage.env.loaders.KeyValuePairFileLoader(
+ '/etc/dispatch-conf.conf', None)
+ opts, errors = loader.load()
if not opts:
print >> sys.stderr, _('dispatch-conf: Error reading /etc/dispatch-conf.conf; fatal')
sys.exit(1)
+ # Handle quote removal here, since KeyValuePairFileLoader doesn't do that.
+ quotes = "\"'"
+ for k, v in opts.iteritems():
+ if v[:1] in quotes and v[:1] == v[-1:]:
+ opts[k] = v[1:-1]
+
for key in mandatory_opts:
if key not in opts:
if key == "merge":