From 3e8fd37ee1f6b736ed4ac8a3351e120e976667ae Mon Sep 17 00:00:00 2001 From: Ilya Etingof Date: Fri, 20 Jul 2018 09:05:29 +0200 Subject: Fix `Bits` initialization with `namedValues` --- pysnmp/proto/rfc1902.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'pysnmp') diff --git a/pysnmp/proto/rfc1902.py b/pysnmp/proto/rfc1902.py index 12237482..3370f478 100644 --- a/pysnmp/proto/rfc1902.py +++ b/pysnmp/proto/rfc1902.py @@ -598,11 +598,12 @@ class Bits(OctetString): """ namedValues = namedval.NamedValues() - def __init__(self, value=univ.noValue, **kwargs): - if 'namedValues' not in kwargs: - kwargs['namedValues'] = self.namedValues + def __new__(cls, *args, **kwargs): + if 'namedValues' in kwargs: + Bits = cls.withNamedBits(**kwargs.pop('namedValues')) + return Bits(*args, **kwargs) - OctetString.__init__(self, value, **kwargs) + return OctetString.__new__(cls) def prettyIn(self, bits): if not isinstance(bits, (tuple, list)): -- cgit v1.2.1