From: Mark Wooding Date: Sun, 27 May 2018 13:00:02 +0000 (+0100) Subject: peerdb/tripe-newpeers.in (ConfigSection): Fix handling of `@inherits'. X-Git-Tag: 1.5.0~68 X-Git-Url: https://git.distorted.org.uk/~mdw/tripe/commitdiff_plain/7dd9d51f463e36e14b61e8d6455e56b9b7e50878 peerdb/tripe-newpeers.in (ConfigSection): Fix handling of `@inherits'. * Make `get' return it properly -- unexpanded (because that wouldn't make sense). * Make `items' mention it if applicable. This doesn't affect the final output, since the CDB writing stage omits keys whose name begins with `@'. --- diff --git a/peerdb/tripe-newpeers.in b/peerdb/tripe-newpeers.in index fdb91708..1213b904 100644 --- a/peerdb/tripe-newpeers.in +++ b/peerdb/tripe-newpeers.in @@ -296,6 +296,9 @@ class ConfigSection (object): ## Special handling for the `name' key. if key == 'name': value = me._itemmap.get('name', me.name) + elif key == '@inherits': + try: return me._itemmap['@inherits'] + except KeyError: raise MissingKeyException(me.name, key) else: value, _ = me._get(key) if value is None: @@ -322,8 +325,7 @@ class ConfigSection (object): if p.name not in visiting: stack.append(p); visiting[p.name] = True - for key in sec._itemmap.iterkeys(): - if key != '@inherit': seen[key] = None + for key in sec._itemmap.iterkeys(): seen[key] = None ## And we're done. return seen.iterkeys()