Skip to content

Commit 1eff316

Browse files
committed
backward compatible OctetString specialization
1 parent 3e7f2e6 commit 1eff316

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

pysnmp/proto/rfc1902.py

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -612,10 +612,26 @@ class Bits(OctetString):
612612
namedValues = namedval.NamedValues()
613613

614614
def __init__(self, *args, **kwargs):
615-
if 'namedValues' not in kwargs:
616-
kwargs['namedValues'] = self.namedValues
615+
try:
616+
self.namedValues = kwargs.pop('namedValues')
617+
618+
except KeyError:
619+
pass
620+
617621
OctetString.__init__(self, *args, **kwargs)
618622

623+
def clone(self, *args, **kwargs):
624+
namedValues = kwargs.pop('namedValues', self.namedValues)
625+
clone = OctetString.clone(self, *args, **kwargs)
626+
clone.namedValues = namedValues
627+
return clone
628+
629+
def subtype(self, *args, **kwargs):
630+
namedValues = kwargs.pop('namedValues', self.namedValues)
631+
clone = OctetString.subtype(self, *args, **kwargs)
632+
clone.namedValues = namedValues
633+
return clone
634+
619635
def prettyIn(self, bits):
620636
if not isinstance(bits, (tuple, list)):
621637
return OctetString.prettyIn(self, bits) # raw bitstring

0 commit comments

Comments
 (0)