summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorelie <elie>2012-04-02 16:35:47 +0000
committerelie <elie>2012-04-02 16:35:47 +0000
commit86aa949f2d104f88faabae4ed3319d96f9dbd3c8 (patch)
tree6ab246878c12eec6e8a54c4734c8c3fe84c4d63b /tools
parent301276313b8107e09505466821a7bf0f213485ad (diff)
downloadpysnmp-86aa949f2d104f88faabae4ed3319d96f9dbd3c8.tar.gz
MIB parent types resolution code improved
Diffstat (limited to 'tools')
-rw-r--r--tools/libsmi2pysnmp11
1 files changed, 8 insertions, 3 deletions
diff --git a/tools/libsmi2pysnmp b/tools/libsmi2pysnmp
index 328f022..50ebd85 100644
--- a/tools/libsmi2pysnmp
+++ b/tools/libsmi2pysnmp
@@ -357,14 +357,19 @@ if 'typedefs' in mib:
while len(typedefs_left):
delayed = []
for t in typedefs_left:
- if t[1]['parent module']['name'] == 'SNMPv2-TC' or \
- t[1]['parent module']['type'] in typedefs_seen:
+ if t[1]['parent module']['name'] in { \
+ # implicitly imported MIBs
+ 'SNMPv2-TC',
+ 'SNMPv2-SMI'
+ } or t[1]['parent module']['type'] in typedefs_seen:
typedefs_seen.add(t[0])
typedefs.append(t)
continue
delayed.append(t)
if len(delayed) == len(typedefs_left):
- sys.stderr.write('WARNING: %d unresolvable types found\n' % len(delayed))
+ for t in typedefs_left:
+ sys.stderr.write('WARNING: unresolved type %s(%s::%s)\n' % (t[0], t[1]['parent module']['name'], t[1]['parent module']['type']))
+ sys.stderr.write('WARNING: %d unresolvable types used\n' % len(delayed))
typedefs.extend(typedefs_left)
break
typedefs_left = delayed