[PATCH 2 of 3] ui: optionally ignore sub-options from configitems()

Gregory Szorc gregory.szorc at gmail.com
Sat Dec 5 23:13:15 CST 2015


# HG changeset patch
# User Gregory Szorc <gregory.szorc at gmail.com>
# Date 1449375879 28800
#      Sat Dec 05 20:24:39 2015 -0800
# Node ID 957e1717bc978b7a1d882b8ee4c063ff82f0ba96
# Parent  64c038f64e8b399e04d88dddd167e98506692c8d
ui: optionally ignore sub-options from configitems()

For convenience.

diff --git a/mercurial/ui.py b/mercurial/ui.py
--- a/mercurial/ui.py
+++ b/mercurial/ui.py
@@ -505,18 +505,24 @@ class ui(object):
             if result is None:
                 result = default or []
         return result
 
     def has_section(self, section, untrusted=False):
         '''tell whether section exists in config.'''
         return section in self._data(untrusted)
 
-    def configitems(self, section, untrusted=False):
+    def configitems(self, section, untrusted=False, ignoresub=False):
         items = self._data(untrusted).items(section)
+        if ignoresub:
+            newitems = {}
+            for k, v in items:
+                if ':' not in k:
+                    newitems[k] = v
+            items = newitems.items()
         if self.debugflag and not untrusted and self._reportuntrusted:
             for k, v in self._ucfg.items(section):
                 if self._tcfg.get(section, k) != v:
                     self.debug("ignoring untrusted configuration option "
                                "%s.%s = %s\n" % (section, k, v))
         return items
 
     def walkconfig(self, untrusted=False):


More information about the Mercurial-devel mailing list