summaryrefslogtreecommitdiff
path: root/pysnmp
diff options
context:
space:
mode:
authorIlya Etingof <etingof@gmail.com>2019-02-12 23:58:57 +0100
committerGitHub <noreply@github.com>2019-02-12 23:58:57 +0100
commit7a8838eeaf2a94a4ee8d309f2091a4fde13e5afc (patch)
treef6ac400c4897b2076d4e2759e5230e67100357db /pysnmp
parent2a3fe3b5e08c91ab8d77569b02b36da63909f619 (diff)
downloadpysnmp-git-7a8838eeaf2a94a4ee8d309f2091a4fde13e5afc.tar.gz
PEP8 optimize imports (#242)
To make them PEP8-compliant
Diffstat (limited to 'pysnmp')
-rw-r--r--pysnmp/carrier/asyncio/dgram/base.py10
-rw-r--r--pysnmp/carrier/asyncio/dgram/udp.py3
-rw-r--r--pysnmp/carrier/asyncio/dgram/udp6.py4
-rw-r--r--pysnmp/carrier/asyncio/dispatch.py3
-rw-r--r--pysnmp/carrier/asyncore/base.py7
-rw-r--r--pysnmp/carrier/asyncore/dgram/base.py22
-rw-r--r--pysnmp/carrier/asyncore/dgram/udp.py3
-rw-r--r--pysnmp/carrier/asyncore/dgram/udp6.py6
-rw-r--r--pysnmp/carrier/asyncore/dgram/unix.py1
-rw-r--r--pysnmp/carrier/asyncore/dispatch.py7
-rw-r--r--pysnmp/carrier/asynsock/dispatch.py1
-rw-r--r--pysnmp/carrier/sockfix.py1
-rw-r--r--pysnmp/carrier/twisted/base.py2
-rw-r--r--pysnmp/carrier/twisted/dgram/base.py8
-rw-r--r--pysnmp/carrier/twisted/dgram/udp.py4
-rw-r--r--pysnmp/carrier/twisted/dgram/unix.py4
-rw-r--r--pysnmp/carrier/twisted/dispatch.py9
-rw-r--r--pysnmp/debug.py4
-rw-r--r--pysnmp/entity/config.py18
-rw-r--r--pysnmp/entity/engine.py20
-rw-r--r--pysnmp/entity/rfc3413/cmdgen.py12
-rw-r--r--pysnmp/entity/rfc3413/cmdrsp.py11
-rw-r--r--pysnmp/entity/rfc3413/config.py3
-rw-r--r--pysnmp/entity/rfc3413/context.py5
-rw-r--r--pysnmp/entity/rfc3413/ntforg.py12
-rw-r--r--pysnmp/entity/rfc3413/ntfrcv.py10
-rw-r--r--pysnmp/hlapi/transport.py3
-rw-r--r--pysnmp/hlapi/v1arch/__init__.py8
-rw-r--r--pysnmp/hlapi/v1arch/asyncore/__init__.py4
-rw-r--r--pysnmp/hlapi/v1arch/asyncore/cmdgen.py2
-rw-r--r--pysnmp/hlapi/v1arch/asyncore/ntforg.py2
-rw-r--r--pysnmp/hlapi/v1arch/asyncore/sync/cmdgen.py4
-rw-r--r--pysnmp/hlapi/v1arch/asyncore/sync/ntforg.py2
-rw-r--r--pysnmp/hlapi/v1arch/asyncore/transport.py3
-rw-r--r--pysnmp/hlapi/v1arch/dispatch.py8
-rw-r--r--pysnmp/hlapi/v3arch/__init__.py8
-rw-r--r--pysnmp/hlapi/v3arch/asyncio/__init__.py4
-rw-r--r--pysnmp/hlapi/v3arch/asyncio/cmdgen.py2
-rw-r--r--pysnmp/hlapi/v3arch/asyncio/ntforg.py3
-rw-r--r--pysnmp/hlapi/v3arch/asyncio/transport.py3
-rw-r--r--pysnmp/hlapi/v3arch/asyncore/__init__.py4
-rw-r--r--pysnmp/hlapi/v3arch/asyncore/cmdgen.py4
-rw-r--r--pysnmp/hlapi/v3arch/asyncore/ntforg.py6
-rw-r--r--pysnmp/hlapi/v3arch/asyncore/sync/__init__.py9
-rw-r--r--pysnmp/hlapi/v3arch/asyncore/transport.py1
-rw-r--r--pysnmp/hlapi/v3arch/auth.py5
-rw-r--r--pysnmp/hlapi/v3arch/lcd.py7
-rw-r--r--pysnmp/hlapi/v3arch/twisted/__init__.py6
-rw-r--r--pysnmp/hlapi/v3arch/twisted/cmdgen.py3
-rw-r--r--pysnmp/hlapi/v3arch/twisted/ntforg.py3
-rw-r--r--pysnmp/hlapi/v3arch/twisted/transport.py1
-rw-r--r--pysnmp/hlapi/varbinds.py2
-rw-r--r--pysnmp/proto/acmod/rfc3415.py5
-rw-r--r--pysnmp/proto/acmod/void.py3
-rw-r--r--pysnmp/proto/api/__init__.py4
-rw-r--r--pysnmp/proto/api/v1.py5
-rw-r--r--pysnmp/proto/api/v2c.py8
-rw-r--r--pysnmp/proto/api/verdec.py6
-rw-r--r--pysnmp/proto/error.py3
-rw-r--r--pysnmp/proto/mpmod/base.py2
-rw-r--r--pysnmp/proto/mpmod/cache.py2
-rw-r--r--pysnmp/proto/mpmod/rfc2576.py17
-rw-r--r--pysnmp/proto/mpmod/rfc3412.py18
-rw-r--r--pysnmp/proto/proxy/rfc2576.py7
-rw-r--r--pysnmp/proto/rfc1155.py8
-rw-r--r--pysnmp/proto/rfc1157.py6
-rw-r--r--pysnmp/proto/rfc1901.py5
-rw-r--r--pysnmp/proto/rfc1902.py8
-rw-r--r--pysnmp/proto/rfc1905.py7
-rw-r--r--pysnmp/proto/rfc3411.py4
-rw-r--r--pysnmp/proto/rfc3412.py14
-rw-r--r--pysnmp/proto/secmod/base.py2
-rw-r--r--pysnmp/proto/secmod/eso/priv/aesbase.py22
-rw-r--r--pysnmp/proto/secmod/eso/priv/des3.py19
-rw-r--r--pysnmp/proto/secmod/rfc2576.py10
-rw-r--r--pysnmp/proto/secmod/rfc3414/auth/base.py3
-rw-r--r--pysnmp/proto/secmod/rfc3414/auth/hmacmd5.py14
-rw-r--r--pysnmp/proto/secmod/rfc3414/auth/hmacsha.py13
-rw-r--r--pysnmp/proto/secmod/rfc3414/auth/noauth.py3
-rw-r--r--pysnmp/proto/secmod/rfc3414/localkey.py17
-rw-r--r--pysnmp/proto/secmod/rfc3414/priv/des.py18
-rw-r--r--pysnmp/proto/secmod/rfc3414/priv/nopriv.py3
-rw-r--r--pysnmp/proto/secmod/rfc3414/service.py33
-rw-r--r--pysnmp/proto/secmod/rfc3826/priv/aes.py18
-rw-r--r--pysnmp/proto/secmod/rfc7860/auth/hmacsha2.py6
-rw-r--r--pysnmp/smi/builder.py14
-rw-r--r--pysnmp/smi/error.py1
-rw-r--r--pysnmp/smi/instrum.py7
-rw-r--r--pysnmp/smi/mibs/ASN1.py1
-rw-r--r--pysnmp/smi/mibs/SNMP-FRAMEWORK-MIB.py5
-rw-r--r--pysnmp/smi/mibs/SNMPv2-SMI.py14
-rw-r--r--pysnmp/smi/mibs/SNMPv2-TC.py9
-rw-r--r--pysnmp/smi/mibs/SNMPv2-TM.py4
-rw-r--r--pysnmp/smi/mibs/TRANSPORT-ADDRESS-MIB.py10
-rw-r--r--pysnmp/smi/rfc1902.py11
-rw-r--r--pysnmp/smi/view.py6
96 files changed, 390 insertions, 302 deletions
diff --git a/pysnmp/carrier/asyncio/dgram/base.py b/pysnmp/carrier/asyncio/dgram/base.py
index 7cc0b589..ae5ab3a7 100644
--- a/pysnmp/carrier/asyncio/dgram/base.py
+++ b/pysnmp/carrier/asyncio/dgram/base.py
@@ -30,18 +30,20 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
# THE POSSIBILITY OF SUCH DAMAGE.
#
-import sys
import platform
+import sys
import traceback
-from pysnmp.carrier.asyncio.base import AbstractAsyncioTransport
-from pysnmp.carrier import error
-from pysnmp import debug
try:
import asyncio
+
except ImportError:
import trollius as asyncio
+from pysnmp import debug
+from pysnmp.carrier import error
+from pysnmp.carrier.asyncio.base import AbstractAsyncioTransport
+
IS_PYTHON_344_PLUS = platform.python_version_tuple() >= ('3', '4', '4')
diff --git a/pysnmp/carrier/asyncio/dgram/udp.py b/pysnmp/carrier/asyncio/dgram/udp.py
index b13d4202..1c056d5a 100644
--- a/pysnmp/carrier/asyncio/dgram/udp.py
+++ b/pysnmp/carrier/asyncio/dgram/udp.py
@@ -31,8 +31,9 @@
# THE POSSIBILITY OF SUCH DAMAGE.
#
import socket
-from pysnmp.carrier.base import AbstractTransportAddress
+
from pysnmp.carrier.asyncio.dgram.base import DgramAsyncioProtocol
+from pysnmp.carrier.base import AbstractTransportAddress
domainName = snmpUDPDomain = (1, 3, 6, 1, 6, 1, 1)
diff --git a/pysnmp/carrier/asyncio/dgram/udp6.py b/pysnmp/carrier/asyncio/dgram/udp6.py
index d9bd6bfe..43c2232c 100644
--- a/pysnmp/carrier/asyncio/dgram/udp6.py
+++ b/pysnmp/carrier/asyncio/dgram/udp6.py
@@ -5,9 +5,9 @@
# License: http://snmplabs.com/pysnmp/license.html
#
import socket
-from pysnmp.carrier.base import AbstractTransportAddress
-from pysnmp.carrier.asyncio.dgram.base import DgramAsyncioProtocol
+from pysnmp.carrier.asyncio.dgram.base import DgramAsyncioProtocol
+from pysnmp.carrier.base import AbstractTransportAddress
domainName = snmpUDP6Domain = (1, 3, 6, 1, 2, 1, 100, 1, 2)
diff --git a/pysnmp/carrier/asyncio/dispatch.py b/pysnmp/carrier/asyncio/dispatch.py
index da1399b4..cb9f2020 100644
--- a/pysnmp/carrier/asyncio/dispatch.py
+++ b/pysnmp/carrier/asyncio/dispatch.py
@@ -30,9 +30,10 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
# THE POSSIBILITY OF SUCH DAMAGE.
#
-import sys
import platform
+import sys
import traceback
+
from pysnmp.carrier.base import AbstractTransportDispatcher
from pysnmp.error import PySnmpError
diff --git a/pysnmp/carrier/asyncore/base.py b/pysnmp/carrier/asyncore/base.py
index 035dcbab..f7b1af9e 100644
--- a/pysnmp/carrier/asyncore/base.py
+++ b/pysnmp/carrier/asyncore/base.py
@@ -4,13 +4,14 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
+import asyncore
import socket
import sys
-import asyncore
+
+from pysnmp import debug
from pysnmp.carrier import error
-from pysnmp.carrier.base import AbstractTransport
from pysnmp.carrier.asyncore.dispatch import AsyncoreDispatcher
-from pysnmp import debug
+from pysnmp.carrier.base import AbstractTransport
class AbstractSocketTransport(asyncore.dispatcher, AbstractTransport):
diff --git a/pysnmp/carrier/asyncore/dgram/base.py b/pysnmp/carrier/asyncore/dgram/base.py
index f103e781..e456da20 100644
--- a/pysnmp/carrier/asyncore/dgram/base.py
+++ b/pysnmp/carrier/asyncore/dgram/base.py
@@ -4,20 +4,22 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-import socket
import errno
-import sys
-from pysnmp.carrier.asyncore.base import AbstractSocketTransport
-from pysnmp.carrier import sockfix, sockmsg, error
+import socket
+
from pysnmp import debug
+from pysnmp.carrier import sockmsg, error
+from pysnmp.carrier.asyncore.base import AbstractSocketTransport
# Ignore these socket errors
-SOCK_ERRORS = {errno.ESHUTDOWN: True,
- errno.ENOTCONN: True,
- errno.ECONNRESET: False,
- errno.ECONNREFUSED: False,
- errno.EAGAIN: False,
- errno.EWOULDBLOCK: False}
+SOCK_ERRORS = {
+ errno.ESHUTDOWN: True,
+ errno.ENOTCONN: True,
+ errno.ECONNRESET: False,
+ errno.ECONNREFUSED: False,
+ errno.EAGAIN: False,
+ errno.EWOULDBLOCK: False
+}
if hasattr(errno, 'EBADFD'):
# bad FD may happen upon FD closure on n-1 select() event
diff --git a/pysnmp/carrier/asyncore/dgram/udp.py b/pysnmp/carrier/asyncore/dgram/udp.py
index 60bc32a9..079555ae 100644
--- a/pysnmp/carrier/asyncore/dgram/udp.py
+++ b/pysnmp/carrier/asyncore/dgram/udp.py
@@ -5,8 +5,9 @@
# License: http://snmplabs.com/pysnmp/license.html
#
from socket import AF_INET
-from pysnmp.carrier.base import AbstractTransportAddress
+
from pysnmp.carrier.asyncore.dgram.base import DgramSocketTransport
+from pysnmp.carrier.base import AbstractTransportAddress
DOMAIN_NAME = SNMP_UDP_DOMAIN = (1, 3, 6, 1, 6, 1, 1)
diff --git a/pysnmp/carrier/asyncore/dgram/udp6.py b/pysnmp/carrier/asyncore/dgram/udp6.py
index 26af0ba5..75d348d6 100644
--- a/pysnmp/carrier/asyncore/dgram/udp6.py
+++ b/pysnmp/carrier/asyncore/dgram/udp6.py
@@ -4,11 +4,11 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from pysnmp.carrier import sockfix
-from pysnmp.carrier.base import AbstractTransportAddress
-from pysnmp.carrier.asyncore.dgram.base import DgramSocketTransport
import socket
+from pysnmp.carrier.asyncore.dgram.base import DgramSocketTransport
+from pysnmp.carrier.base import AbstractTransportAddress
+
DOMAIN_NAME = SNMP_UDP6_DOMAIN = (1, 3, 6, 1, 2, 1, 100, 1, 2)
diff --git a/pysnmp/carrier/asyncore/dgram/unix.py b/pysnmp/carrier/asyncore/dgram/unix.py
index 486c84f8..0f68f962 100644
--- a/pysnmp/carrier/asyncore/dgram/unix.py
+++ b/pysnmp/carrier/asyncore/dgram/unix.py
@@ -11,6 +11,7 @@ try:
from socket import AF_UNIX
except ImportError:
AF_UNIX = None
+
from pysnmp.carrier.base import AbstractTransportAddress
from pysnmp.carrier.asyncore.dgram.base import DgramSocketTransport
diff --git a/pysnmp/carrier/asyncore/dispatch.py b/pysnmp/carrier/asyncore/dispatch.py
index 3517bdff..897fdd0c 100644
--- a/pysnmp/carrier/asyncore/dispatch.py
+++ b/pysnmp/carrier/asyncore/dispatch.py
@@ -4,11 +4,12 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from time import time
+from asyncore import loop
+from asyncore import socket_map
from sys import exc_info
+from time import time
from traceback import format_exception
-from asyncore import socket_map
-from asyncore import loop
+
from pysnmp.carrier.base import AbstractTransportDispatcher
from pysnmp.error import PySnmpError
diff --git a/pysnmp/carrier/asynsock/dispatch.py b/pysnmp/carrier/asynsock/dispatch.py
index 478d9e49..74d14141 100644
--- a/pysnmp/carrier/asynsock/dispatch.py
+++ b/pysnmp/carrier/asynsock/dispatch.py
@@ -6,4 +6,5 @@
#
from pysnmp.carrier.asyncore.dispatch import *
+
AsynsockDispatcher = AsyncoreDispatcher
diff --git a/pysnmp/carrier/sockfix.py b/pysnmp/carrier/sockfix.py
index edfc1631..bba068fa 100644
--- a/pysnmp/carrier/sockfix.py
+++ b/pysnmp/carrier/sockfix.py
@@ -8,7 +8,6 @@ import socket
from pysnmp import debug
-
SYMBOLS = {
'IP_PKTINFO': 8,
'IP_TRANSPARENT': 19,
diff --git a/pysnmp/carrier/twisted/base.py b/pysnmp/carrier/twisted/base.py
index 91883d7d..21c16a42 100644
--- a/pysnmp/carrier/twisted/base.py
+++ b/pysnmp/carrier/twisted/base.py
@@ -12,8 +12,8 @@
#
# Description: twisted DatagramProtocol UDP transport
#
-from pysnmp.carrier.twisted.dispatch import TwistedDispatcher
from pysnmp.carrier.base import AbstractTransport
+from pysnmp.carrier.twisted.dispatch import TwistedDispatcher
class AbstractTwistedTransport(AbstractTransport):
diff --git a/pysnmp/carrier/twisted/dgram/base.py b/pysnmp/carrier/twisted/dgram/base.py
index 42eb7c04..c752e580 100644
--- a/pysnmp/carrier/twisted/dgram/base.py
+++ b/pysnmp/carrier/twisted/dgram/base.py
@@ -4,12 +4,12 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-import sys
-from twisted.internet.protocol import DatagramProtocol
from twisted.internet import reactor
-from pysnmp.carrier.twisted.base import AbstractTwistedTransport
-from pysnmp.carrier import error
+from twisted.internet.protocol import DatagramProtocol
+
from pysnmp import debug
+from pysnmp.carrier import error
+from pysnmp.carrier.twisted.base import AbstractTwistedTransport
class DgramTwistedTransport(DatagramProtocol, AbstractTwistedTransport):
diff --git a/pysnmp/carrier/twisted/dgram/udp.py b/pysnmp/carrier/twisted/dgram/udp.py
index eb47bb24..10cf946f 100644
--- a/pysnmp/carrier/twisted/dgram/udp.py
+++ b/pysnmp/carrier/twisted/dgram/udp.py
@@ -4,11 +4,11 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-import sys
from twisted.internet import reactor
+
+from pysnmp.carrier import error
from pysnmp.carrier.base import AbstractTransportAddress
from pysnmp.carrier.twisted.dgram.base import DgramTwistedTransport
-from pysnmp.carrier import error
DOMAIN_NAME = SNMP_UDP_DOMAIN = (1, 3, 6, 1, 6, 1, 1)
diff --git a/pysnmp/carrier/twisted/dgram/unix.py b/pysnmp/carrier/twisted/dgram/unix.py
index 24fdc5c7..6ce3cde2 100644
--- a/pysnmp/carrier/twisted/dgram/unix.py
+++ b/pysnmp/carrier/twisted/dgram/unix.py
@@ -4,11 +4,11 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-import sys
from twisted.internet import reactor
+
+from pysnmp.carrier import error
from pysnmp.carrier.base import AbstractTransportAddress
from pysnmp.carrier.twisted.dgram.base import DgramTwistedTransport
-from pysnmp.carrier import error
DOMAIN_NAME = SNMP_LOCAL_DOMAIN = (1, 3, 6, 1, 2, 1, 100, 1, 13)
diff --git a/pysnmp/carrier/twisted/dispatch.py b/pysnmp/carrier/twisted/dispatch.py
index cacc20b4..77f5c168 100644
--- a/pysnmp/carrier/twisted/dispatch.py
+++ b/pysnmp/carrier/twisted/dispatch.py
@@ -12,8 +12,13 @@
#
# Description: Transport dispatcher based on twisted.internet.reactor
#
-import sys, time, traceback
-from twisted.internet import reactor, task
+import sys
+import time
+import traceback
+
+from twisted.internet import reactor
+from twisted.internet import task
+
from pysnmp.carrier.base import AbstractTransportDispatcher
from pysnmp.error import PySnmpError
diff --git a/pysnmp/debug.py b/pysnmp/debug.py
index 8217569d..f6e69c79 100644
--- a/pysnmp/debug.py
+++ b/pysnmp/debug.py
@@ -5,9 +5,11 @@
# License: http://snmplabs.com/pysnmp/license.html
#
import logging
+
from pyasn1.compat.octets import octs2ints
-from pysnmp import error
+
from pysnmp import __version__
+from pysnmp import error
FLAG_NONE = 0x0000
FLAG_IO = 0x0001
diff --git a/pysnmp/entity/config.py b/pysnmp/entity/config.py
index e89a102a..0ae87c0b 100644
--- a/pysnmp/entity/config.py
+++ b/pysnmp/entity/config.py
@@ -5,14 +5,20 @@
# License: http://snmplabs.com/pysnmp/license.html
#
from pyasn1.compat.octets import null
-from pysnmp.carrier.asyncore.dgram import udp, udp6
-from pysnmp.proto.secmod.rfc3414.auth import hmacmd5, hmacsha, noauth
-from pysnmp.proto.secmod.rfc3414.priv import des, nopriv
+
+from pysnmp import error
+from pysnmp.carrier.asyncore.dgram import udp
+from pysnmp.carrier.asyncore.dgram import udp6
+from pysnmp.proto.secmod.rfc3414.auth import hmacmd5
+from pysnmp.proto.secmod.rfc3414.auth import hmacsha
+from pysnmp.proto.secmod.rfc3414.auth import noauth
+from pysnmp.proto.secmod.rfc3414.priv import des
+from pysnmp.proto.secmod.rfc3414.priv import nopriv
from pysnmp.proto.secmod.rfc3826.priv import aes
from pysnmp.proto.secmod.rfc7860.auth import hmacsha2
-from pysnmp.proto.secmod.eso.priv import des3, aes192, aes256
-from pysnmp.proto import rfc1905
-from pysnmp import error
+from pysnmp.proto.secmod.eso.priv import aes192
+from pysnmp.proto.secmod.eso.priv import aes256
+from pysnmp.proto.secmod.eso.priv import des3
# A shortcut to popular constants
diff --git a/pysnmp/entity/engine.py b/pysnmp/entity/engine.py
index 8c4e363a..60b45b0c 100644
--- a/pysnmp/entity/engine.py
+++ b/pysnmp/entity/engine.py
@@ -6,18 +6,22 @@
#
import os
import shutil
-import sys
import tempfile
+
from pyasn1.compat.octets import str2octs
-from pysnmp.proto.rfc3412 import MsgAndPduDispatcher
-from pysnmp.proto.mpmod.rfc2576 import SnmpV1MessageProcessingModel, SnmpV2cMessageProcessingModel
-from pysnmp.proto.mpmod.rfc3412 import SnmpV3MessageProcessingModel
-from pysnmp.proto.secmod.rfc2576 import SnmpV1SecurityModel, SnmpV2cSecurityModel
-from pysnmp.proto.secmod.rfc3414 import SnmpUSMSecurityModel
-from pysnmp.proto.acmod import rfc3415, void
-from pysnmp.entity import observer
+
from pysnmp import debug
from pysnmp import error
+from pysnmp.entity import observer
+from pysnmp.proto.acmod import rfc3415
+from pysnmp.proto.acmod import void
+from pysnmp.proto.mpmod.rfc2576 import SnmpV1MessageProcessingModel
+from pysnmp.proto.mpmod.rfc2576 import SnmpV2cMessageProcessingModel
+from pysnmp.proto.mpmod.rfc3412 import SnmpV3MessageProcessingModel
+from pysnmp.proto.rfc3412 import MsgAndPduDispatcher
+from pysnmp.proto.secmod.rfc2576 import SnmpV1SecurityModel
+from pysnmp.proto.secmod.rfc2576 import SnmpV2cSecurityModel
+from pysnmp.proto.secmod.rfc3414 import SnmpUSMSecurityModel
__all__ = ['SnmpEngine']
diff --git a/pysnmp/entity/rfc3413/cmdgen.py b/pysnmp/entity/rfc3413/cmdgen.py
index 9ca9b50b..6f13c265 100644
--- a/pysnmp/entity/rfc3413/cmdgen.py
+++ b/pysnmp/entity/rfc3413/cmdgen.py
@@ -4,14 +4,16 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-import sys
+from pyasn1.type import univ
+
+from pysnmp import debug
+from pysnmp import error
+from pysnmp import nextid
from pysnmp.entity.rfc3413 import config
-from pysnmp.proto import rfc1905, errind
+from pysnmp.proto import errind
from pysnmp.proto.api import v2c
-from pysnmp.proto.proxy import rfc2576
-from pysnmp import error, nextid, debug
from pysnmp.proto.error import StatusInformation
-from pyasn1.type import univ
+from pysnmp.proto.proxy import rfc2576
getNextHandle = nextid.Integer(0x7fffffff)
diff --git a/pysnmp/entity/rfc3413/cmdrsp.py b/pysnmp/entity/rfc3413/cmdrsp.py
index 52951a4b..7910b86b 100644
--- a/pysnmp/entity/rfc3413/cmdrsp.py
+++ b/pysnmp/entity/rfc3413/cmdrsp.py
@@ -4,13 +4,16 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-import sys
-from pysnmp.proto import rfc1902, rfc1905, rfc3411, errind, error
+import pysnmp.smi.error
+from pysnmp import debug
+from pysnmp.proto import errind
+from pysnmp.proto import error
+from pysnmp.proto import rfc1902
+from pysnmp.proto import rfc1905
+from pysnmp.proto import rfc3411
from pysnmp.proto.api import v2c # backend is always SMIv2 compliant
from pysnmp.proto.proxy import rfc2576
-import pysnmp.smi.error
from pysnmp.smi import exval
-from pysnmp import debug
# 3.2
diff --git a/pysnmp/entity/rfc3413/config.py b/pysnmp/entity/rfc3413/config.py
index 7689824b..c58c74ba 100644
--- a/pysnmp/entity/rfc3413/config.py
+++ b/pysnmp/entity/rfc3413/config.py
@@ -4,8 +4,9 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from pysnmp.smi.error import SmiError, NoSuchInstanceError
from pysnmp.entity import config
+from pysnmp.smi.error import NoSuchInstanceError
+from pysnmp.smi.error import SmiError
def getTargetAddr(snmpEngine, snmpTargetAddrName):
diff --git a/pysnmp/entity/rfc3413/context.py b/pysnmp/entity/rfc3413/context.py
index 7d3c3262..9a99f284 100644
--- a/pysnmp/entity/rfc3413/context.py
+++ b/pysnmp/entity/rfc3413/context.py
@@ -4,10 +4,11 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from pyasn1.type import univ
from pyasn1.compat.octets import null
-from pysnmp import error
+from pyasn1.type import univ
+
from pysnmp import debug
+from pysnmp import error
class SnmpContext(object):
diff --git a/pysnmp/entity/rfc3413/ntforg.py b/pysnmp/entity/rfc3413/ntforg.py
index 0c686635..be0d0dbf 100644
--- a/pysnmp/entity/rfc3413/ntforg.py
+++ b/pysnmp/entity/rfc3413/ntforg.py
@@ -4,16 +4,14 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-import sys
-from pyasn1.compat.octets import null
+from pysnmp import debug
+from pysnmp import nextid
from pysnmp.entity.rfc3413 import config
-from pysnmp.proto.proxy import rfc2576
+from pysnmp.proto import errind
+from pysnmp.proto import error
from pysnmp.proto import rfc3411
from pysnmp.proto.api import v2c
-from pysnmp.proto import errind, error
-from pysnmp.smi import view, rfc1902
-from pysnmp import nextid
-from pysnmp import debug
+from pysnmp.proto.proxy import rfc2576
getNextHandle = nextid.Integer(0x7fffffff)
diff --git a/pysnmp/entity/rfc3413/ntfrcv.py b/pysnmp/entity/rfc3413/ntfrcv.py
index c286ec54..a4754be2 100644
--- a/pysnmp/entity/rfc3413/ntfrcv.py
+++ b/pysnmp/entity/rfc3413/ntfrcv.py
@@ -4,12 +4,14 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-import sys
from pyasn1.compat.octets import null
-from pysnmp.proto import rfc3411, error
-from pysnmp.proto.api import v1, v2c # backend is always SMIv2 compliant
-from pysnmp.proto.proxy import rfc2576
+
from pysnmp import debug
+from pysnmp.proto import error
+from pysnmp.proto import rfc3411
+from pysnmp.proto.api import v1
+from pysnmp.proto.api import v2c # backend is always SMIv2 compliant
+from pysnmp.proto.proxy import rfc2576
# 3.4
diff --git a/pysnmp/hlapi/transport.py b/pysnmp/hlapi/transport.py
index 61c01dd1..20471633 100644
--- a/pysnmp/hlapi/transport.py
+++ b/pysnmp/hlapi/transport.py
@@ -5,8 +5,9 @@
# License: http://snmplabs.com/pysnmp/license.html
#
from pyasn1.compat.octets import null
-from pysnmp.carrier.base import AbstractTransport
+
from pysnmp import error
+from pysnmp.carrier.base import AbstractTransport
__all__ = []
diff --git a/pysnmp/hlapi/v1arch/__init__.py b/pysnmp/hlapi/v1arch/__init__.py
index feec6bb1..66a1951b 100644
--- a/pysnmp/hlapi/v1arch/__init__.py
+++ b/pysnmp/hlapi/v1arch/__init__.py
@@ -4,11 +4,13 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from pysnmp.proto.rfc1902 import *
-from pysnmp.proto.rfc1905 import NoSuchInstance, NoSuchObject, EndOfMibView
-from pysnmp.smi.rfc1902 import *
from pysnmp.hlapi.v1arch.auth import *
from pysnmp.hlapi.v1arch.asyncore.dispatch import *
+from pysnmp.proto.rfc1902 import *
+from pysnmp.proto.rfc1905 import EndOfMibView
+from pysnmp.proto.rfc1905 import NoSuchObject
+from pysnmp.proto.rfc1905 import NoSuchInstance
+from pysnmp.smi.rfc1902 import *
# default is synchronous asyncore-based API
from pysnmp.hlapi.v1arch.asyncore.sync import *
diff --git a/pysnmp/hlapi/v1arch/asyncore/__init__.py b/pysnmp/hlapi/v1arch/asyncore/__init__.py
index bd03fae5..86b9e539 100644
--- a/pysnmp/hlapi/v1arch/asyncore/__init__.py
+++ b/pysnmp/hlapi/v1arch/asyncore/__init__.py
@@ -4,10 +4,10 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from pysnmp.proto.rfc1902 import *
-from pysnmp.smi.rfc1902 import *
from pysnmp.hlapi.v1arch.auth import *
from pysnmp.hlapi.v1arch.asyncore.transport import *
from pysnmp.hlapi.v1arch.asyncore.cmdgen import *
from pysnmp.hlapi.v1arch.asyncore.ntforg import *
from pysnmp.hlapi.v1arch.asyncore.dispatch import *
+from pysnmp.proto.rfc1902 import *
+from pysnmp.smi.rfc1902 import *
diff --git a/pysnmp/hlapi/v1arch/asyncore/cmdgen.py b/pysnmp/hlapi/v1arch/asyncore/cmdgen.py
index 722f37df..e7ddadb2 100644
--- a/pysnmp/hlapi/v1arch/asyncore/cmdgen.py
+++ b/pysnmp/hlapi/v1arch/asyncore/cmdgen.py
@@ -5,9 +5,9 @@
# License: http://snmplabs.com/pysnmp/license.html
#
-from pysnmp.hlapi.varbinds import *
from pysnmp.hlapi.v1arch.auth import *
from pysnmp.hlapi.v1arch.asyncore import *
+from pysnmp.hlapi.varbinds import *
from pysnmp.smi.rfc1902 import *
from pysnmp.proto import api
from pysnmp import error
diff --git a/pysnmp/hlapi/v1arch/asyncore/ntforg.py b/pysnmp/hlapi/v1arch/asyncore/ntforg.py
index 80caeac5..12917eb0 100644
--- a/pysnmp/hlapi/v1arch/asyncore/ntforg.py
+++ b/pysnmp/hlapi/v1arch/asyncore/ntforg.py
@@ -4,9 +4,9 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from pysnmp.hlapi.varbinds import *
from pysnmp.hlapi.v1arch.auth import *
from pysnmp.hlapi.v1arch.asyncore import *
+from pysnmp.hlapi.varbinds import *
from pysnmp.smi.rfc1902 import *
from pysnmp.proto import api
from pysnmp.proto.proxy import rfc2576
diff --git a/pysnmp/hlapi/v1arch/asyncore/sync/cmdgen.py b/pysnmp/hlapi/v1arch/asyncore/sync/cmdgen.py
index 4ca7c66c..d82f4d92 100644
--- a/pysnmp/hlapi/v1arch/asyncore/sync/cmdgen.py
+++ b/pysnmp/hlapi/v1arch/asyncore/sync/cmdgen.py
@@ -4,11 +4,11 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
+from pyasn1.type.univ import Null
+
from pysnmp.hlapi.v1arch.asyncore import cmdgen
from pysnmp.hlapi.varbinds import *
from pysnmp.proto.rfc1905 import endOfMibView
-from pysnmp.proto import errind
-from pyasn1.type.univ import Null
__all__ = ['getCmd', 'nextCmd', 'setCmd', 'bulkCmd']
diff --git a/pysnmp/hlapi/v1arch/asyncore/sync/ntforg.py b/pysnmp/hlapi/v1arch/asyncore/sync/ntforg.py
index d3e3ee03..81de276c 100644
--- a/pysnmp/hlapi/v1arch/asyncore/sync/ntforg.py
+++ b/pysnmp/hlapi/v1arch/asyncore/sync/ntforg.py
@@ -6,8 +6,6 @@
#
from pysnmp.hlapi.v1arch.asyncore import ntforg
from pysnmp.hlapi.varbinds import *
-from pysnmp.proto import errind
-from pyasn1.type.univ import Null
__all__ = ['sendNotification']
diff --git a/pysnmp/hlapi/v1arch/asyncore/transport.py b/pysnmp/hlapi/v1arch/asyncore/transport.py
index 452550a4..507424fe 100644
--- a/pysnmp/hlapi/v1arch/asyncore/transport.py
+++ b/pysnmp/hlapi/v1arch/asyncore/transport.py
@@ -8,7 +8,8 @@ import socket
import sys
from pysnmp import error
-from pysnmp.carrier.asyncore.dgram import udp, udp6
+from pysnmp.carrier.asyncore.dgram import udp
+from pysnmp.carrier.asyncore.dgram import udp6
from pysnmp.hlapi.transport import AbstractTransportTarget
__all__ = ['Udp6TransportTarget', 'UdpTransportTarget']
diff --git a/pysnmp/hlapi/v1arch/dispatch.py b/pysnmp/hlapi/v1arch/dispatch.py
index 56300d1b..606e0e19 100644
--- a/pysnmp/hlapi/v1arch/dispatch.py
+++ b/pysnmp/hlapi/v1arch/dispatch.py
@@ -6,12 +6,12 @@
#
from time import time
-from pysnmp.proto.api import verdec
+from pyasn1.codec.ber import encoder, decoder
+
+from pysnmp import debug
from pysnmp.proto import api
from pysnmp.proto import error
-from pysnmp import debug
-
-from pyasn1.codec.ber import encoder, decoder
+from pysnmp.proto.api import verdec
__all__ = []
diff --git a/pysnmp/hlapi/v3arch/__init__.py b/pysnmp/hlapi/v3arch/__init__.py
index 82c88bba..565df668 100644
--- a/pysnmp/hlapi/v3arch/__init__.py
+++ b/pysnmp/hlapi/v3arch/__init__.py
@@ -4,11 +4,13 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from pysnmp.proto.rfc1902 import *
-from pysnmp.proto.rfc1905 import NoSuchInstance, NoSuchObject, EndOfMibView
-from pysnmp.smi.rfc1902 import *
from pysnmp.hlapi.v3arch import auth
from pysnmp.hlapi.v3arch.context import *
+from pysnmp.proto.rfc1902 import *
+from pysnmp.proto.rfc1905 import EndOfMibView
+from pysnmp.proto.rfc1905 import NoSuchInstance
+from pysnmp.proto.rfc1905 import NoSuchObject
+from pysnmp.smi.rfc1902 import *
from pysnmp.entity.engine import *
# default is synchronous asyncore-based API
diff --git a/pysnmp/hlapi/v3arch/asyncio/__init__.py b/pysnmp/hlapi/v3arch/asyncio/__init__.py
index 53a9e999..b2cf1cbe 100644
--- a/pysnmp/hlapi/v3arch/asyncio/__init__.py
+++ b/pysnmp/hlapi/v3arch/asyncio/__init__.py
@@ -4,11 +4,11 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from pysnmp.proto.rfc1902 import *
-from pysnmp.smi.rfc1902 import *
from pysnmp.entity.engine import *
from pysnmp.hlapi.v3arch.auth import *
from pysnmp.hlapi.v3arch.context import *
from pysnmp.hlapi.v3arch.asyncio.transport import *
from pysnmp.hlapi.v3arch.asyncio.cmdgen import *
from pysnmp.hlapi.v3arch.asyncio.ntforg import *
+from pysnmp.proto.rfc1902 import *
+from pysnmp.smi.rfc1902 import *
diff --git a/pysnmp/hlapi/v3arch/asyncio/cmdgen.py b/pysnmp/hlapi/v3arch/asyncio/cmdgen.py
index 8d978573..7faf9329 100644
--- a/pysnmp/hlapi/v3arch/asyncio/cmdgen.py
+++ b/pysnmp/hlapi/v3arch/asyncio/cmdgen.py
@@ -31,7 +31,6 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
# THE POSSIBILITY OF SUCH DAMAGE.
#
-from pysnmp.smi.rfc1902 import *
from pysnmp.hlapi.v3arch.auth import *
from pysnmp.hlapi.v3arch.context import *
from pysnmp.hlapi.v3arch.lcd import *
@@ -39,6 +38,7 @@ from pysnmp.hlapi.varbinds import *
from pysnmp.hlapi.v3arch.asyncio.transport import *
from pysnmp.entity.rfc3413 import cmdgen
from pysnmp.proto.api import v2c
+from pysnmp.smi.rfc1902 import *
try:
import asyncio
diff --git a/pysnmp/hlapi/v3arch/asyncio/ntforg.py b/pysnmp/hlapi/v3arch/asyncio/ntforg.py
index 0b974538..4851f443 100644
--- a/pysnmp/hlapi/v3arch/asyncio/ntforg.py
+++ b/pysnmp/hlapi/v3arch/asyncio/ntforg.py
@@ -8,16 +8,17 @@
# Authors: Matt Hooks <me@matthooks.com>
# Zachary Lorusso <zlorusso@gmail.com>
#
-from pysnmp.smi.rfc1902 import *
from pysnmp.hlapi.v3arch.auth import *
from pysnmp.hlapi.v3arch.context import *
from pysnmp.hlapi.v3arch.lcd import *
from pysnmp.hlapi.varbinds import *
from pysnmp.hlapi.v3arch.asyncio.transport import *
from pysnmp.entity.rfc3413 import ntforg
+from pysnmp.smi.rfc1902 import *
try:
import asyncio
+
except ImportError:
import trollius as asyncio
diff --git a/pysnmp/hlapi/v3arch/asyncio/transport.py b/pysnmp/hlapi/v3arch/asyncio/transport.py
index 581ee549..9079c1c8 100644
--- a/pysnmp/hlapi/v3arch/asyncio/transport.py
+++ b/pysnmp/hlapi/v3arch/asyncio/transport.py
@@ -7,7 +7,8 @@
import socket
import sys
-from pysnmp.carrier.asyncio.dgram import udp, udp6
+from pysnmp.carrier.asyncio.dgram import udp
+from pysnmp.carrier.asyncio.dgram import udp6
from pysnmp.error import PySnmpError
from pysnmp.hlapi.transport import AbstractTransportTarget
diff --git a/pysnmp/hlapi/v3arch/asyncore/__init__.py b/pysnmp/hlapi/v3arch/asyncore/__init__.py
index 99c38f98..00ddac12 100644
--- a/pysnmp/hlapi/v3arch/asyncore/__init__.py
+++ b/pysnmp/hlapi/v3arch/asyncore/__init__.py
@@ -4,11 +4,11 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from pysnmp.proto.rfc1902 import *
-from pysnmp.smi.rfc1902 import *
from pysnmp.hlapi.v3arch.auth import *
from pysnmp.hlapi.v3arch.context import *
from pysnmp.hlapi.v3arch.asyncore.transport import *
from pysnmp.hlapi.v3arch.asyncore.cmdgen import *
from pysnmp.hlapi.v3arch.asyncore.ntforg import *
from pysnmp.entity.engine import *
+from pysnmp.proto.rfc1902 import *
+from pysnmp.smi.rfc1902 import *
diff --git a/pysnmp/hlapi/v3arch/asyncore/cmdgen.py b/pysnmp/hlapi/v3arch/asyncore/cmdgen.py
index 53b4cd1b..ad31be35 100644
--- a/pysnmp/hlapi/v3arch/asyncore/cmdgen.py
+++ b/pysnmp/hlapi/v3arch/asyncore/cmdgen.py
@@ -4,14 +4,14 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from pysnmp.entity.rfc3413 import cmdgen
-from pysnmp.smi.rfc1902 import *
from pysnmp.hlapi.varbinds import *
from pysnmp.hlapi.v3arch.auth import *
from pysnmp.hlapi.v3arch.context import *
from pysnmp.hlapi.v3arch.lcd import *
from pysnmp.hlapi.v3arch.asyncore.transport import *
+from pysnmp.entity.rfc3413 import cmdgen
from pysnmp.proto.api import v2c
+from pysnmp.smi.rfc1902 import *
__all__ = ['getCmd', 'nextCmd', 'setCmd', 'bulkCmd', 'isEndOfMib']
diff --git a/pysnmp/hlapi/v3arch/asyncore/ntforg.py b/pysnmp/hlapi/v3arch/asyncore/ntforg.py
index e69eccbf..779c4246 100644
--- a/pysnmp/hlapi/v3arch/asyncore/ntforg.py
+++ b/pysnmp/hlapi/v3arch/asyncore/ntforg.py
@@ -4,13 +4,13 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from pysnmp.smi.rfc1902 import *
-from pysnmp.entity.rfc3413 import ntforg
from pysnmp.hlapi.v3arch.auth import *
from pysnmp.hlapi.v3arch.context import *
from pysnmp.hlapi.v3arch.lcd import *
-from pysnmp.hlapi.varbinds import *
from pysnmp.hlapi.v3arch.asyncore.transport import *
+from pysnmp.hlapi.varbinds import *
+from pysnmp.entity.rfc3413 import ntforg
+from pysnmp.smi.rfc1902 import *
__all__ = ['sendNotification']
diff --git a/pysnmp/hlapi/v3arch/asyncore/sync/__init__.py b/pysnmp/hlapi/v3arch/asyncore/sync/__init__.py
index 9ff7d84d..50eddd19 100644
--- a/pysnmp/hlapi/v3arch/asyncore/sync/__init__.py
+++ b/pysnmp/hlapi/v3arch/asyncore/sync/__init__.py
@@ -4,12 +4,11 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from pysnmp.proto.rfc1902 import *
-from pysnmp.smi.rfc1902 import *
from pysnmp.hlapi.v3arch.auth import *
+from pysnmp.hlapi.v3arch.asyncore.sync.cmdgen import *
+from pysnmp.hlapi.v3arch.asyncore.sync.ntforg import *
from pysnmp.hlapi.v3arch.context import *
from pysnmp.hlapi.v3arch.asyncore.transport import *
+from pysnmp.proto.rfc1902 import *
from pysnmp.entity.engine import *
-
-from pysnmp.hlapi.v3arch.asyncore.sync.cmdgen import *
-from pysnmp.hlapi.v3arch.asyncore.sync.ntforg import *
+from pysnmp.smi.rfc1902 import *
diff --git a/pysnmp/hlapi/v3arch/asyncore/transport.py b/pysnmp/hlapi/v3arch/asyncore/transport.py
index 61d32aaa..2cae2d7d 100644
--- a/pysnmp/hlapi/v3arch/asyncore/transport.py
+++ b/pysnmp/hlapi/v3arch/asyncore/transport.py
@@ -5,7 +5,6 @@
# License: http://snmplabs.com/pysnmp/license.html
#
import socket
-import sys
from pysnmp import error
from pysnmp.carrier.asyncore.dgram import udp, udp6
diff --git a/pysnmp/hlapi/v3arch/auth.py b/pysnmp/hlapi/v3arch/auth.py
index 47152c88..7c232221 100644
--- a/pysnmp/hlapi/v3arch/auth.py
+++ b/pysnmp/hlapi/v3arch/auth.py
@@ -4,10 +4,11 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from pysnmp.entity import config
-from pysnmp import error
from pyasn1.compat.octets import null
+from pysnmp import error
+from pysnmp.entity import config
+
__all__ = [
'CommunityData', 'UsmUserData',
'USM_AUTH_NONE', 'USM_AUTH_HMAC96_MD5',
diff --git a/pysnmp/hlapi/v3arch/lcd.py b/pysnmp/hlapi/v3arch/lcd.py
index aefee634..b3397b0c 100644
--- a/pysnmp/hlapi/v3arch/lcd.py
+++ b/pysnmp/hlapi/v3arch/lcd.py
@@ -4,12 +4,13 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
+from pyasn1.compat.octets import null
+
+from pysnmp import error
+from pysnmp import nextid
from pysnmp.entity import config
-from pysnmp import nextid, error
from pysnmp.hlapi.v3arch.auth import *
-from pyasn1.compat.octets import null
-
__all__ = ['CommandGeneratorLcdConfigurator',
'NotificationOriginatorLcdConfigurator']
diff --git a/pysnmp/hlapi/v3arch/twisted/__init__.py b/pysnmp/hlapi/v3arch/twisted/__init__.py
index f141bf55..a0e14e5d 100644
--- a/pysnmp/hlapi/v3arch/twisted/__init__.py
+++ b/pysnmp/hlapi/v3arch/twisted/__init__.py
@@ -1,8 +1,8 @@
-from pysnmp.proto.rfc1902 import *
-from pysnmp.smi.rfc1902 import *
-from pysnmp.entity.engine import *
from pysnmp.hlapi.v3arch.auth import *
from pysnmp.hlapi.v3arch.context import *
from pysnmp.hlapi.v3arch.twisted.transport import *
from pysnmp.hlapi.v3arch.twisted.cmdgen import *
from pysnmp.hlapi.v3arch.twisted.ntforg import *
+from pysnmp.entity.engine import *
+from pysnmp.proto.rfc1902 import *
+from pysnmp.smi.rfc1902 import *
diff --git a/pysnmp/hlapi/v3arch/twisted/cmdgen.py b/pysnmp/hlapi/v3arch/twisted/cmdgen.py
index 028af30a..aea8174d 100644
--- a/pysnmp/hlapi/v3arch/twisted/cmdgen.py
+++ b/pysnmp/hlapi/v3arch/twisted/cmdgen.py
@@ -4,7 +4,6 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from pysnmp.smi.rfc1902 import *
from pysnmp.hlapi.v3arch.auth import *
from pysnmp.hlapi.v3arch.context import *
from pysnmp.hlapi.v3arch.lcd import *
@@ -13,6 +12,8 @@ from pysnmp.hlapi.v3arch.twisted.transport import *
from pysnmp.entity.rfc3413 import cmdgen
from pysnmp.proto import errind
from pysnmp.proto.api import v2c
+from pysnmp.smi.rfc1902 import *
+
from twisted.internet.defer import Deferred
from twisted.python.failure import Failure
diff --git a/pysnmp/hlapi/v3arch/twisted/ntforg.py b/pysnmp/hlapi/v3arch/twisted/ntforg.py
index 1888d543..681579bb 100644
--- a/pysnmp/hlapi/v3arch/twisted/ntforg.py
+++ b/pysnmp/hlapi/v3arch/twisted/ntforg.py
@@ -4,13 +4,14 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from pysnmp.smi.rfc1902 import *
from pysnmp.hlapi.v3arch.auth import *
from pysnmp.hlapi.v3arch.context import *
from pysnmp.hlapi.v3arch.lcd import *
from pysnmp.hlapi.varbinds import *
from pysnmp.hlapi.v3arch.twisted.transport import *
from pysnmp.entity.rfc3413 import ntforg
+from pysnmp.smi.rfc1902 import *
+
from twisted.internet import reactor
from twisted.internet.defer import Deferred
from twisted.python.failure import Failure
diff --git a/pysnmp/hlapi/v3arch/twisted/transport.py b/pysnmp/hlapi/v3arch/twisted/transport.py
index db4a7b79..11119fc4 100644
--- a/pysnmp/hlapi/v3arch/twisted/transport.py
+++ b/pysnmp/hlapi/v3arch/twisted/transport.py
@@ -5,7 +5,6 @@
# License: http://snmplabs.com/pysnmp/license.html
#
import socket
-import sys
from pysnmp.carrier.twisted.dgram import udp
from pysnmp.error import PySnmpError
diff --git a/pysnmp/hlapi/varbinds.py b/pysnmp/hlapi/varbinds.py
index 7414754f..d3742a75 100644
--- a/pysnmp/hlapi/varbinds.py
+++ b/pysnmp/hlapi/varbinds.py
@@ -4,9 +4,9 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from pysnmp.smi.rfc1902 import *
from pysnmp.smi import builder
from pysnmp.smi import view
+from pysnmp.smi.rfc1902 import *
__all__ = ['CommandGeneratorVarBinds', 'NotificationOriginatorVarBinds']
diff --git a/pysnmp/proto/acmod/rfc3415.py b/pysnmp/proto/acmod/rfc3415.py
index 0d093c4b..fb4c4adf 100644
--- a/pysnmp/proto/acmod/rfc3415.py
+++ b/pysnmp/proto/acmod/rfc3415.py
@@ -4,9 +4,10 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from pysnmp.smi.error import NoSuchInstanceError
-from pysnmp.proto import errind, error
from pysnmp import debug
+from pysnmp.proto import errind
+from pysnmp.proto import error
+from pysnmp.smi.error import NoSuchInstanceError
# 3.2
diff --git a/pysnmp/proto/acmod/void.py b/pysnmp/proto/acmod/void.py
index 677103b9..2f8c4e97 100644
--- a/pysnmp/proto/acmod/void.py
+++ b/pysnmp/proto/acmod/void.py
@@ -4,8 +4,9 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from pysnmp.proto import errind, error
from pysnmp import debug
+from pysnmp.proto import errind
+from pysnmp.proto import error
# rfc3415 3.2
diff --git a/pysnmp/proto/api/__init__.py b/pysnmp/proto/api/__init__.py
index fd404e5c..fd67c8a7 100644
--- a/pysnmp/proto/api/__init__.py
+++ b/pysnmp/proto/api/__init__.py
@@ -4,7 +4,9 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from pysnmp.proto.api import v1, v2c, verdec
+from pysnmp.proto.api import v1
+from pysnmp.proto.api import v2c
+from pysnmp.proto.api import verdec
# Protocol versions
SNMP_VERSION_1 = 0
diff --git a/pysnmp/proto/api/v1.py b/pysnmp/proto/api/v1.py
index e0233ff5..827a6a0d 100644
--- a/pysnmp/proto/api/v1.py
+++ b/pysnmp/proto/api/v1.py
@@ -5,8 +5,11 @@
# License: http://snmplabs.com/pysnmp/license.html
#
from pyasn1.type import univ
-from pysnmp.proto import rfc1155, rfc1157, error
+
from pysnmp import nextid
+from pysnmp.proto import error
+from pysnmp.proto import rfc1155
+from pysnmp.proto import rfc1157
# Shortcuts to SNMP types
Integer = univ.Integer
diff --git a/pysnmp/proto/api/v2c.py b/pysnmp/proto/api/v2c.py
index f877ea08..05de2da1 100644
--- a/pysnmp/proto/api/v2c.py
+++ b/pysnmp/proto/api/v2c.py
@@ -4,9 +4,13 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from pysnmp.proto import rfc1901, rfc1902, rfc1905
+from pyasn1.type import constraint
+from pyasn1.type import univ
+
+from pysnmp.proto import rfc1901
+from pysnmp.proto import rfc1902
+from pysnmp.proto import rfc1905
from pysnmp.proto.api import v1
-from pyasn1.type import univ, constraint
# Shortcuts to SNMP types
Null = univ.Null
diff --git a/pysnmp/proto/api/verdec.py b/pysnmp/proto/api/verdec.py
index 9bbb73bd..e6ec7fd9 100644
--- a/pysnmp/proto/api/verdec.py
+++ b/pysnmp/proto/api/verdec.py
@@ -4,9 +4,11 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from pyasn1.type import univ
-from pyasn1.codec.ber import decoder, eoo
+from pyasn1.codec.ber import decoder
+from pyasn1.codec.ber import eoo
from pyasn1.error import PyAsn1Error
+from pyasn1.type import univ
+
from pysnmp.proto.error import ProtocolError
diff --git a/pysnmp/proto/error.py b/pysnmp/proto/error.py
index 6d10b0c1..52e84642 100644
--- a/pysnmp/proto/error.py
+++ b/pysnmp/proto/error.py
@@ -5,8 +5,9 @@
# License: http://snmplabs.com/pysnmp/license.html
#
from pyasn1.error import PyAsn1Error
-from pysnmp.error import PySnmpError
+
from pysnmp import debug
+from pysnmp.error import PySnmpError
class ProtocolError(PySnmpError, PyAsn1Error):
diff --git a/pysnmp/proto/mpmod/base.py b/pysnmp/proto/mpmod/base.py
index 0a9f9f6a..61b26662 100644
--- a/pysnmp/proto/mpmod/base.py
+++ b/pysnmp/proto/mpmod/base.py
@@ -4,8 +4,8 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from pysnmp.proto.mpmod import cache
from pysnmp.proto import error
+from pysnmp.proto.mpmod import cache
class AbstractMessageProcessingModel(object):
diff --git a/pysnmp/proto/mpmod/cache.py b/pysnmp/proto/mpmod/cache.py
index 4bc67169..0cb343bd 100644
--- a/pysnmp/proto/mpmod/cache.py
+++ b/pysnmp/proto/mpmod/cache.py
@@ -4,8 +4,8 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from pysnmp.proto import error
from pysnmp import nextid
+from pysnmp.proto import error
class Cache(object):
diff --git a/pysnmp/proto/mpmod/rfc2576.py b/pysnmp/proto/mpmod/rfc2576.py
index 3872ce9a..8bad83c2 100644
--- a/pysnmp/proto/mpmod/rfc2576.py
+++ b/pysnmp/proto/mpmod/rfc2576.py
@@ -4,15 +4,18 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-import sys
-from pyasn1.codec.ber import decoder, eoo
-from pyasn1.type import univ
+from pyasn1.codec.ber import decoder
+from pyasn1.codec.ber import eoo
from pyasn1.compat.octets import null
-from pyasn1.error import PyAsn1Error
-from pysnmp.proto.mpmod.base import AbstractMessageProcessingModel
-from pysnmp.proto import rfc3411, errind, error
-from pysnmp.proto.api import v1, v2c
+from pyasn1.type import univ
+
from pysnmp import debug
+from pysnmp.proto import errind
+from pysnmp.proto import error
+from pysnmp.proto import rfc3411
+from pysnmp.proto.api import v1
+from pysnmp.proto.api import v2c
+from pysnmp.proto.mpmod.base import AbstractMessageProcessingModel
# Since I have not found a detailed reference to v1MP/v2cMP
diff --git a/pysnmp/proto/mpmod/rfc3412.py b/pysnmp/proto/mpmod/rfc3412.py
index fe736cac..6ff9fa8d 100644
--- a/pysnmp/proto/mpmod/rfc3412.py
+++ b/pysnmp/proto/mpmod/rfc3412.py
@@ -5,12 +5,20 @@
# License: http://snmplabs.com/pysnmp/license.html
#
import sys
-from pysnmp.proto.mpmod.base import AbstractMessageProcessingModel
-from pysnmp.proto import rfc1905, rfc3411, api, errind, error
-from pyasn1.type import univ, namedtype, constraint
-from pyasn1.codec.ber import decoder, eoo
-from pyasn1.error import PyAsn1Error
+
+from pyasn1.codec.ber import decoder
+from pyasn1.codec.ber import eoo
+from pyasn1.type import constraint
+from pyasn1.type import namedtype
+from pyasn1.type import univ
+
from pysnmp import debug
+from pysnmp.proto import api
+from pysnmp.proto import errind
+from pysnmp.proto import error
+from pysnmp.proto import rfc1905
+from pysnmp.proto import rfc3411
+from pysnmp.proto.mpmod.base import AbstractMessageProcessingModel
# API to rfc1905 protocol objects
pMod = api.PROTOCOL_MODULES[api.SNMP_VERSION_2C]
diff --git a/pysnmp/proto/proxy/rfc2576.py b/pysnmp/proto/proxy/rfc2576.py
index 4391a54f..fc569329 100644
--- a/pysnmp/proto/proxy/rfc2576.py
+++ b/pysnmp/proto/proxy/rfc2576.py
@@ -4,9 +4,12 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from pysnmp.proto import rfc1905, rfc3411, error
-from pysnmp.proto.api import v1, v2c
from pysnmp import debug
+from pysnmp.proto import error
+from pysnmp.proto import rfc1905
+from pysnmp.proto import rfc3411
+from pysnmp.proto.api import v1
+from pysnmp.proto.api import v2c
# 2.1.1
diff --git a/pysnmp/proto/rfc1155.py b/pysnmp/proto/rfc1155.py
index b9a2eb25..e194f1c0 100644
--- a/pysnmp/proto/rfc1155.py
+++ b/pysnmp/proto/rfc1155.py
@@ -4,10 +4,14 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from pyasn1.type import univ, tag, constraint, namedtype
from pyasn1.error import PyAsn1Error
-from pysnmp.smi.error import SmiError
+from pyasn1.type import constraint
+from pyasn1.type import namedtype
+from pyasn1.type import tag
+from pyasn1.type import univ
+
from pysnmp.proto import error
+from pysnmp.smi.error import SmiError
__all__ = ['Opaque', 'NetworkAddress', 'ObjectName', 'TimeTicks',
'Counter', 'Gauge', 'IpAddress']
diff --git a/pysnmp/proto/rfc1157.py b/pysnmp/proto/rfc1157.py
index 8cd354b8..b0ddbb08 100644
--- a/pysnmp/proto/rfc1157.py
+++ b/pysnmp/proto/rfc1157.py
@@ -4,7 +4,11 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from pyasn1.type import univ, tag, namedtype, namedval
+from pyasn1.type import namedtype
+from pyasn1.type import namedval
+from pyasn1.type import tag
+from pyasn1.type import univ
+
from pysnmp.proto import rfc1155
__all__ = ['GetNextRequestPDU', 'GetResponsePDU', 'SetRequestPDU',
diff --git a/pysnmp/proto/rfc1901.py b/pysnmp/proto/rfc1901.py
index de912395..b76a214a 100644
--- a/pysnmp/proto/rfc1901.py
+++ b/pysnmp/proto/rfc1901.py
@@ -4,7 +4,10 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from pyasn1.type import univ, namedtype, namedval
+from pyasn1.type import namedtype
+from pyasn1.type import namedval
+from pyasn1.type import univ
+
from pysnmp.proto import rfc1905
version = univ.Integer(namedValues=namedval.NamedValues(('version-2c', 1)))
diff --git a/pysnmp/proto/rfc1902.py b/pysnmp/proto/rfc1902.py
index 14900ce7..e1c037ee 100644
--- a/pysnmp/proto/rfc1902.py
+++ b/pysnmp/proto/rfc1902.py
@@ -4,7 +4,13 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from pyasn1.type import univ, tag, constraint, namedtype, namedval
+
+from pyasn1.type import constraint
+from pyasn1.type import namedtype
+from pyasn1.type import namedval
+from pyasn1.type import tag
+from pyasn1.type import univ
+
from pysnmp.proto import rfc1155, error
__all__ = ['Opaque', 'TimeTicks', 'Bits', 'Integer', 'OctetString',
diff --git a/pysnmp/proto/rfc1905.py b/pysnmp/proto/rfc1905.py
index d5da3982..6a2637e2 100644
--- a/pysnmp/proto/rfc1905.py
+++ b/pysnmp/proto/rfc1905.py
@@ -4,7 +4,12 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from pyasn1.type import univ, tag, constraint, namedtype, namedval
+from pyasn1.type import constraint
+from pyasn1.type import namedtype
+from pyasn1.type import namedval
+from pyasn1.type import tag
+from pyasn1.type import univ
+
from pysnmp.proto import rfc1902
__all__ = ['unSpecified', 'EndOfMibView', 'ReportPDU', 'UnSpecified',
diff --git a/pysnmp/proto/rfc3411.py b/pysnmp/proto/rfc3411.py
index c804eb4f..9d4e080e 100644
--- a/pysnmp/proto/rfc3411.py
+++ b/pysnmp/proto/rfc3411.py
@@ -4,7 +4,9 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from pysnmp.proto import rfc1157, rfc1905
+from pysnmp.proto import rfc1157
+from pysnmp.proto import rfc1905
+
READ_CLASS_PDUS = set(
(rfc1157.GetRequestPDU.tagSet,
diff --git a/pysnmp/proto/rfc3412.py b/pysnmp/proto/rfc3412.py
index aaef10d9..7a3baa86 100644
--- a/pysnmp/proto/rfc3412.py
+++ b/pysnmp/proto/rfc3412.py
@@ -4,14 +4,18 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-import sys
from pyasn1.compat.octets import null
from pyasn1.error import PyAsn1Error
-from pysnmp.smi import builder, instrum
-from pysnmp.proto import errind, error, cache
-from pysnmp.proto.api import verdec # XXX
+
+from pysnmp import debug
+from pysnmp import nextid
from pysnmp.error import PySnmpError
-from pysnmp import nextid, debug
+from pysnmp.proto import cache
+from pysnmp.proto import errind
+from pysnmp.proto import error
+from pysnmp.proto.api import verdec # XXX
+from pysnmp.smi import builder
+from pysnmp.smi import instrum
class MsgAndPduDispatcher(object):
diff --git a/pysnmp/proto/secmod/base.py b/pysnmp/proto/secmod/base.py
index 70850bcf..0f80f255 100644
--- a/pysnmp/proto/secmod/base.py
+++ b/pysnmp/proto/secmod/base.py
@@ -4,8 +4,8 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from pysnmp.proto.secmod import cache
from pysnmp.proto import error
+from pysnmp.proto.secmod import cache
class AbstractSecurityModel(object):
diff --git a/pysnmp/proto/secmod/eso/priv/aesbase.py b/pysnmp/proto/secmod/eso/priv/aesbase.py
index f2527cec..0c2e5d17 100644
--- a/pysnmp/proto/secmod/eso/priv/aesbase.py
+++ b/pysnmp/proto/secmod/eso/priv/aesbase.py
@@ -4,22 +4,16 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from pysnmp.proto.secmod.rfc3826.priv import aes
-from pysnmp.proto.secmod.rfc3414.auth import hmacmd5, hmacsha
-from pysnmp.proto.secmod.rfc7860.auth import hmacsha2
-from pysnmp.proto.secmod.rfc3414 import localkey
-from pysnmp.proto import error
+from hashlib import md5
+from hashlib import sha1
from math import ceil
-try:
- from hashlib import md5, sha1
-
-except ImportError:
- import md5
- import sha
-
- md5 = md5.new
- sha1 = sha.new
+from pysnmp.proto import error
+from pysnmp.proto.secmod.rfc3414 import localkey
+from pysnmp.proto.secmod.rfc3414.auth import hmacmd5
+from pysnmp.proto.secmod.rfc3414.auth import hmacsha
+from pysnmp.proto.secmod.rfc3826.priv import aes
+from pysnmp.proto.secmod.rfc7860.auth import hmacsha2
class AbstractAesBlumenthal(aes.Aes):
diff --git a/pysnmp/proto/secmod/eso/priv/des3.py b/pysnmp/proto/secmod/eso/priv/des3.py
index bb3f8516..da84475b 100644
--- a/pysnmp/proto/secmod/eso/priv/des3.py
+++ b/pysnmp/proto/secmod/eso/priv/des3.py
@@ -5,16 +5,8 @@
# License: http://snmplabs.com/pysnmp/license.html
#
import random
-
-try:
- from hashlib import md5, sha1
-
-except ImportError:
- import md5
- import sha
-
- md5 = md5.new
- sha1 = sha.new
+from hashlib import md5
+from hashlib import sha1
try:
from pysnmpcrypto import des3, PysnmpCryptoError
@@ -24,12 +16,13 @@ except ImportError:
des3 = None
from pysnmp.proto.secmod.rfc3414.priv import base
-from pysnmp.proto.secmod.rfc3414.auth import hmacmd5, hmacsha
+from pysnmp.proto.secmod.rfc3414.auth import hmacmd5
+from pysnmp.proto.secmod.rfc3414.auth import hmacsha
from pysnmp.proto.secmod.rfc3414 import localkey
from pysnmp.proto.secmod.rfc7860.auth import hmacsha2
-from pysnmp.proto import errind, error
+from pysnmp.proto import errind
+from pysnmp.proto import error
from pyasn1.type import univ
-from pyasn1.compat.octets import null
random.seed()
diff --git a/pysnmp/proto/secmod/rfc2576.py b/pysnmp/proto/secmod/rfc2576.py
index 392294f9..ba11b0fe 100644
--- a/pysnmp/proto/secmod/rfc2576.py
+++ b/pysnmp/proto/secmod/rfc2576.py
@@ -4,14 +4,16 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-import sys
from pyasn1.codec.ber import encoder
from pyasn1.error import PyAsn1Error
+
+from pysnmp import debug
+from pysnmp.carrier.asyncore.dgram import udp
+from pysnmp.carrier.asyncore.dgram import udp6
+from pysnmp.proto import errind
+from pysnmp.proto import error
from pysnmp.proto.secmod import base
-from pysnmp.carrier.asyncore.dgram import udp, udp6
from pysnmp.smi.error import NoSuchInstanceError
-from pysnmp.proto import errind, error
-from pysnmp import debug
class SnmpV1SecurityModel(base.AbstractSecurityModel):
diff --git a/pysnmp/proto/secmod/rfc3414/auth/base.py b/pysnmp/proto/secmod/rfc3414/auth/base.py
index 1c019aea..5bb6e660 100644
--- a/pysnmp/proto/secmod/rfc3414/auth/base.py
+++ b/pysnmp/proto/secmod/rfc3414/auth/base.py
@@ -4,7 +4,8 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-from pysnmp.proto import errind, error
+from pysnmp.proto import errind
+from pysnmp.proto import error
class AbstractAuthenticationService(object):
diff --git a/pysnmp/proto/secmod/rfc3414/auth/hmacmd5.py b/pysnmp/proto/secmod/rfc3414/auth/hmacmd5.py
index 3ce12da2..df3db63f 100644
--- a/pysnmp/proto/secmod/rfc3414/auth/hmacmd5.py
+++ b/pysnmp/proto/secmod/rfc3414/auth/hmacmd5.py
@@ -4,18 +4,14 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-try:
- from hashlib import md5
-
-except ImportError:
- import md5
-
- md5 = md5.new
+from hashlib import md5
from pyasn1.type import univ
-from pysnmp.proto.secmod.rfc3414.auth import base
+
+from pysnmp.proto import errind
+from pysnmp.proto import error
from pysnmp.proto.secmod.rfc3414 import localkey
-from pysnmp.proto import errind, error
+from pysnmp.proto.secmod.rfc3414.auth import base
TWELVE_ZEROS = univ.OctetString((0,) * 12).asOctets()
FORTY_EIGHT_ZEROS = (0,) * 48
diff --git a/pysnmp/proto/secmod/rfc3414/auth/hmacsha.py b/pysnmp/proto/secmod/rfc3414/auth/hmacsha.py
index 8776f6fb..4d5498d1 100644
--- a/pysnmp/proto/secmod/rfc3414/auth/hmacsha.py
+++ b/pysnmp/proto/secmod/rfc3414/auth/hmacsha.py
@@ -4,17 +4,14 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-try:
- from hashlib import sha1
-except ImportError:
- import sha
-
- sha1 = sha.new
+from hashlib import sha1
from pyasn1.type import univ
-from pysnmp.proto.secmod.rfc3414.auth import base
+
+from pysnmp.proto import errind
+from pysnmp.proto import error
from pysnmp.proto.secmod.rfc3414 import localkey
-from pysnmp.proto import errind, error
+from pysnmp.proto.secmod.rfc3414.auth import base
TWELVE_ZEROS = univ.OctetString((0,) * 12).asOctets()
FORTY_FOUR_ZEROS = (0,) * 44
diff --git a/pysnmp/proto/secmod/rfc3414/auth/noauth.py b/pysnmp/proto/secmod/rfc3414/auth/noauth.py
index d97d4888..c0c8329c 100644
--- a/pysnmp/proto/secmod/rfc3414/auth/noauth.py
+++ b/pysnmp/proto/secmod/rfc3414/auth/noauth.py
@@ -4,8 +4,9 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
+from pysnmp.proto import errind
+from pysnmp.proto import error
from pysnmp.proto.secmod.rfc3414.auth import base
-from pysnmp.proto import errind, error
class NoAuth(base.AbstractAuthenticationService):
diff --git a/pysnmp/proto/secmod/rfc3414/localkey.py b/pysnmp/proto/secmod/rfc3414/localkey.py
index 651722e4..144342fa 100644
--- a/pysnmp/proto/secmod/rfc3414/localkey.py
+++ b/pysnmp/proto/secmod/rfc3414/localkey.py
@@ -4,39 +4,34 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-try:
- from hashlib import md5, sha1
-
-except ImportError:
- import md5
- import sha
-
- md5 = md5.new
- sha1 = sha.new
+from hashlib import md5
+from hashlib import sha1
from pyasn1.type import univ
def hashPassphrase(passphrase, hashFunc):
passphrase = univ.OctetString(passphrase).asOctets()
- # noinspection PyDeprecation,PyCallingNonCallable
hasher = hashFunc()
ringBuffer = passphrase * (64 // len(passphrase) + 1)
- # noinspection PyTypeChecker
ringBufferLen = len(ringBuffer)
count = 0
mark = 0
+
while count < 16384:
e = mark + 64
if e < ringBufferLen:
hasher.update(ringBuffer[mark:e])
mark = e
+
else:
hasher.update(
ringBuffer[mark:ringBufferLen] + ringBuffer[0:e - ringBufferLen]
)
mark = e - ringBufferLen
+
count += 1
+
return hasher.digest()
diff --git a/pysnmp/proto/secmod/rfc3414/priv/des.py b/pysnmp/proto/secmod/rfc3414/priv/des.py
index a9a1137c..5128a662 100644
--- a/pysnmp/proto/secmod/rfc3414/priv/des.py
+++ b/pysnmp/proto/secmod/rfc3414/priv/des.py
@@ -5,16 +5,8 @@
# License: http://snmplabs.com/pysnmp/license.html
#
import random
-
-try:
- from hashlib import md5, sha1
-
-except ImportError:
- import md5
- import sha
-
- md5 = md5.new
- sha1 = sha.new
+from hashlib import md5
+from hashlib import sha1
try:
from pysnmpcrypto import des, PysnmpCryptoError
@@ -24,10 +16,12 @@ except ImportError:
des = None
from pysnmp.proto.secmod.rfc3414.priv import base
-from pysnmp.proto.secmod.rfc3414.auth import hmacmd5, hmacsha
+from pysnmp.proto.secmod.rfc3414.auth import hmacmd5
+from pysnmp.proto.secmod.rfc3414.auth import hmacsha
from pysnmp.proto.secmod.rfc3414 import localkey
from pysnmp.proto.secmod.rfc7860.auth import hmacsha2
-from pysnmp.proto import errind, error
+from pysnmp.proto import errind
+from pysnmp.proto import error
from pyasn1.type import univ
random.seed()
diff --git a/pysnmp/proto/secmod/rfc3414/priv/nopriv.py b/pysnmp/proto/secmod/rfc3414/priv/nopriv.py
index 7283e6ec..358ea33d 100644
--- a/pysnmp/proto/secmod/rfc3414/priv/nopriv.py
+++ b/pysnmp/proto/secmod/rfc3414/priv/nopriv.py
@@ -4,8 +4,9 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
+from pysnmp.proto import errind
+from pysnmp.proto import error
from pysnmp.proto.secmod.rfc3414.priv import base
-from pysnmp.proto import errind, error
class NoPriv(base.AbstractEncryptionService):
diff --git a/pysnmp/proto/secmod/rfc3414/service.py b/pysnmp/proto/secmod/rfc3414/service.py
index a09b98ed..f9bf056b 100644
--- a/pysnmp/proto/secmod/rfc3414/service.py
+++ b/pysnmp/proto/secmod/rfc3414/service.py
@@ -5,20 +5,33 @@
# License: http://snmplabs.com/pysnmp/license.html
#
import time
-import sys
+
+from pyasn1.codec.ber import decoder
+from pyasn1.codec.ber import encoder
+from pyasn1.codec.ber import eoo
+from pyasn1.compat.octets import null
+from pyasn1.error import PyAsn1Error
+from pyasn1.type import constraint
+from pyasn1.type import namedtype
+from pyasn1.type import univ
+
+from pysnmp import debug
+from pysnmp.proto import errind
+from pysnmp.proto import error
+from pysnmp.proto import rfc1155
+from pysnmp.proto import rfc3411
from pysnmp.proto.secmod.base import AbstractSecurityModel
-from pysnmp.proto.secmod.rfc3414.auth import hmacmd5, hmacsha, noauth
-from pysnmp.proto.secmod.rfc3414.priv import des, nopriv
+from pysnmp.proto.secmod.eso.priv import aes192
+from pysnmp.proto.secmod.eso.priv import aes256
+from pysnmp.proto.secmod.eso.priv import des3
+from pysnmp.proto.secmod.rfc3414.auth import hmacmd5
+from pysnmp.proto.secmod.rfc3414.auth import hmacsha
+from pysnmp.proto.secmod.rfc3414.auth import noauth
+from pysnmp.proto.secmod.rfc3414.priv import des
+from pysnmp.proto.secmod.rfc3414.priv import nopriv
from pysnmp.proto.secmod.rfc3826.priv import aes
from pysnmp.proto.secmod.rfc7860.auth import hmacsha2
-from pysnmp.proto.secmod.eso.priv import des3, aes192, aes256
from pysnmp.smi.error import NoSuchInstanceError
-from pysnmp.proto import rfc1155, rfc3411, errind, error
-from pysnmp import debug
-from pyasn1.type import univ, namedtype, constraint
-from pyasn1.codec.ber import encoder, decoder, eoo
-from pyasn1.error import PyAsn1Error
-from pyasn1.compat.octets import null
# USM security params
diff --git a/pysnmp/proto/secmod/rfc3826/priv/aes.py b/pysnmp/proto/secmod/rfc3826/priv/aes.py
index 8a67ecc2..56f69280 100644
--- a/pysnmp/proto/secmod/rfc3826/priv/aes.py
+++ b/pysnmp/proto/secmod/rfc3826/priv/aes.py
@@ -5,16 +5,8 @@
# License: http://snmplabs.com/pysnmp/license.html
#
import random
-
-try:
- from hashlib import md5, sha1
-
-except ImportError:
- import md5
- import sha
-
- md5 = md5.new
- sha1 = sha.new
+from hashlib import md5
+from hashlib import sha1
try:
from pysnmpcrypto import aes, PysnmpCryptoError
@@ -25,10 +17,12 @@ except ImportError:
from pyasn1.type import univ
from pysnmp.proto.secmod.rfc3414.priv import base
-from pysnmp.proto.secmod.rfc3414.auth import hmacmd5, hmacsha
+from pysnmp.proto.secmod.rfc3414.auth import hmacmd5
+from pysnmp.proto.secmod.rfc3414.auth import hmacsha
from pysnmp.proto.secmod.rfc7860.auth import hmacsha2
from pysnmp.proto.secmod.rfc3414 import localkey
-from pysnmp.proto import errind, error
+from pysnmp.proto import errind
+from pysnmp.proto import error
random.seed()
diff --git a/pysnmp/proto/secmod/rfc7860/auth/hmacsha2.py b/pysnmp/proto/secmod/rfc7860/auth/hmacsha2.py
index 495f8fcd..11dd79b3 100644
--- a/pysnmp/proto/secmod/rfc7860/auth/hmacsha2.py
+++ b/pysnmp/proto/secmod/rfc7860/auth/hmacsha2.py
@@ -4,10 +4,12 @@
# Copyright (c) 2005-2018, Olivier Verriest <verri@x25.pm>
# License: http://snmplabs.com/pysnmp/license.html
#
-import sys
import hmac
try:
- from hashlib import sha224, sha256, sha384, sha512
+ from hashlib import sha224
+ from hashlib import sha256
+ from hashlib import sha384
+ from hashlib import sha512
except ImportError:
diff --git a/pysnmp/smi/builder.py b/pysnmp/smi/builder.py
index dedf95a2..9d75732b 100644
--- a/pysnmp/smi/builder.py
+++ b/pysnmp/smi/builder.py
@@ -4,11 +4,11 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-import os
-import sys
import imp
-import struct
import marshal
+import os
+import struct
+import sys
import time
import traceback
@@ -18,10 +18,6 @@ try:
except ImportError:
ENOENT = -1
-from pysnmp import __version__ as pysnmp_version
-from pysnmp.smi import error
-from pysnmp import debug
-
if sys.version_info[0] <= 2:
import types
@@ -29,6 +25,10 @@ if sys.version_info[0] <= 2:
else:
classTypes = (type,)
+from pysnmp import __version__ as pysnmp_version
+from pysnmp.smi import error
+from pysnmp import debug
+
class __AbstractMibSource(object):
def __init__(self, srcName):
diff --git a/pysnmp/smi/error.py b/pysnmp/smi/error.py
index df4682fc..87909b1e 100644
--- a/pysnmp/smi/error.py
+++ b/pysnmp/smi/error.py
@@ -5,6 +5,7 @@
# License: http://snmplabs.com/pysnmp/license.html
#
from pyasn1.error import PyAsn1Error
+
from pysnmp.error import PySnmpError
diff --git a/pysnmp/smi/instrum.py b/pysnmp/smi/instrum.py
index 05c5c30b..aec25adc 100644
--- a/pysnmp/smi/instrum.py
+++ b/pysnmp/smi/instrum.py
@@ -4,13 +4,8 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-import sys
-import traceback
-import functools
-from pysnmp import nextid
-from pysnmp.proto import rfc1905
-from pysnmp.smi import error
from pysnmp import debug
+from pysnmp.smi import error
__all__ = ['AbstractMibInstrumController', 'MibInstrumController']
diff --git a/pysnmp/smi/mibs/ASN1.py b/pysnmp/smi/mibs/ASN1.py
index 4a393d3b..f7ba6d56 100644
--- a/pysnmp/smi/mibs/ASN1.py
+++ b/pysnmp/smi/mibs/ASN1.py
@@ -5,6 +5,7 @@
# License: http://snmplabs.com/pysnmp/license.html
#
from pyasn1.type import univ
+
from pysnmp.proto import rfc1902
mibBuilder.exportSymbols(
diff --git a/pysnmp/smi/mibs/SNMP-FRAMEWORK-MIB.py b/pysnmp/smi/mibs/SNMP-FRAMEWORK-MIB.py
index e7ff01f3..704e4ef8 100644
--- a/pysnmp/smi/mibs/SNMP-FRAMEWORK-MIB.py
+++ b/pysnmp/smi/mibs/SNMP-FRAMEWORK-MIB.py
@@ -10,11 +10,8 @@
# On host grommit.local platform Darwin version 16.4.0 by user ilya
# Using Python version 3.4.2 (v3.4.2:ab2c023a9432, Oct 5 2014, 20:42:22)
#
+import os
import time
-try:
- import os
-except ImportError:
- pass
OctetString, ObjectIdentifier, Integer = mibBuilder.importSymbols("ASN1", "OctetString", "ObjectIdentifier", "Integer")
NamedValues, = mibBuilder.importSymbols("ASN1-ENUMERATION", "NamedValues")
diff --git a/pysnmp/smi/mibs/SNMPv2-SMI.py b/pysnmp/smi/mibs/SNMPv2-SMI.py
index 68b2922a..ae48cc3c 100644
--- a/pysnmp/smi/mibs/SNMPv2-SMI.py
+++ b/pysnmp/smi/mibs/SNMPv2-SMI.py
@@ -6,12 +6,16 @@
#
import sys
import traceback
-from pysnmp.smi.indices import OidOrderedDict
-from pysnmp.smi import exval, error
-from pysnmp.proto import rfc1902
-from pysnmp import cache, debug
-from pyasn1.type import univ
+
from pyasn1.error import PyAsn1Error
+from pyasn1.type import univ
+
+from pysnmp import cache
+from pysnmp import debug
+from pysnmp.proto import rfc1902
+from pysnmp.smi import error
+from pysnmp.smi import exval
+from pysnmp.smi.indices import OidOrderedDict
Integer, ObjectIdentifier = mibBuilder.importSymbols(
"ASN1", "Integer", "ObjectIdentifier"
diff --git a/pysnmp/smi/mibs/SNMPv2-TC.py b/pysnmp/smi/mibs/SNMPv2-TC.py
index f234a2f3..600bb8f9 100644
--- a/pysnmp/smi/mibs/SNMPv2-TC.py
+++ b/pysnmp/smi/mibs/SNMPv2-TC.py
@@ -4,15 +4,16 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-import sys
import inspect
import string
-from pysnmp.smi.error import *
-from pysnmp import debug
-from pyasn1.type import univ
+
from pyasn1.compat import octets
+from pyasn1.type import univ
from pyasn1.type.base import Asn1Item
+from pysnmp import debug
+from pysnmp.smi.error import *
+
OctetString, Integer, ObjectIdentifier = mibBuilder.importSymbols('ASN1', 'OctetString', 'Integer', 'ObjectIdentifier')
NamedValues, = mibBuilder.importSymbols("ASN1-ENUMERATION", "NamedValues")
ConstraintsIntersection, ConstraintsUnion, SingleValueConstraint, ValueRangeConstraint, ValueSizeConstraint = mibBuilder.importSymbols("ASN1-REFINEMENT", "ConstraintsIntersection", "ConstraintsUnion", "SingleValueConstraint", "ValueRangeConstraint", "ValueSizeConstraint")
diff --git a/pysnmp/smi/mibs/SNMPv2-TM.py b/pysnmp/smi/mibs/SNMPv2-TM.py
index 67c32137..558999ac 100644
--- a/pysnmp/smi/mibs/SNMPv2-TM.py
+++ b/pysnmp/smi/mibs/SNMPv2-TM.py
@@ -12,13 +12,15 @@
#
try:
from socket import inet_ntop, inet_pton, AF_INET
+
except ImportError:
from socket import inet_ntoa, inet_aton, AF_INET
inet_ntop = lambda x, y: inet_ntoa(y)
inet_pton = lambda x, y: inet_aton(y)
-from pyasn1.compat.octets import int2oct, oct2int
+from pyasn1.compat.octets import int2oct
+from pyasn1.compat.octets import oct2int
OctetString, = mibBuilder.importSymbols('ASN1', 'OctetString')
ConstraintsIntersection, ConstraintsUnion, SingleValueConstraint, ValueRangeConstraint, ValueSizeConstraint = mibBuilder.importSymbols("ASN1-REFINEMENT", "ConstraintsIntersection", "ConstraintsUnion", "SingleValueConstraint", "ValueRangeConstraint", "ValueSizeConstraint")
diff --git a/pysnmp/smi/mibs/TRANSPORT-ADDRESS-MIB.py b/pysnmp/smi/mibs/TRANSPORT-ADDRESS-MIB.py
index 213bb89c..e1eaf546 100644
--- a/pysnmp/smi/mibs/TRANSPORT-ADDRESS-MIB.py
+++ b/pysnmp/smi/mibs/TRANSPORT-ADDRESS-MIB.py
@@ -11,16 +11,19 @@
# Using Python version 3.4.2 (v3.4.2:ab2c023a9432, Oct 5 2014, 20:42:22)
#
-from pyasn1.compat.octets import int2oct, oct2int
-from pysnmp import error
-from pysnmp.carrier import sockfix
import socket
+from pyasn1.compat.octets import int2oct
+from pyasn1.compat.octets import oct2int
+
+from pysnmp import error
+
has_ipv6 = socket.has_ipv6
if hasattr(socket, 'inet_ntop') and hasattr(socket, 'inet_pton'):
inet_ntop = socket.inet_ntop
inet_pton = socket.inet_pton
+
else:
import sys
@@ -30,6 +33,7 @@ else:
inet_ntop = lambda x, y: inet_ntoa(y)
inet_pton = lambda x, y: inet_aton(y)
has_ipv6 = False
+
elif has_ipv6:
import struct # The case of old Python at old Windows
diff --git a/pysnmp/smi/rfc1902.py b/pysnmp/smi/rfc1902.py
index 35c9f628..ee32470d 100644
--- a/pysnmp/smi/rfc1902.py
+++ b/pysnmp/smi/rfc1902.py
@@ -4,15 +4,16 @@
# Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
# License: http://snmplabs.com/pysnmp/license.html
#
-import sys
-from pysnmp.proto import rfc1902, rfc1905
+from pyasn1.error import PyAsn1Error
+from pyasn1.type.base import AbstractSimpleAsn1Item
+
+from pysnmp import debug
+from pysnmp.proto import rfc1902
+from pysnmp.proto import rfc1905
from pysnmp.proto.api import v2c
from pysnmp.smi.builder import ZipMibSource
from pysnmp.smi.compiler import addMibCompiler
from pysnmp.smi.error import SmiError
-from pyasn1.type.base import AbstractSimpleAsn1Item
-from pyasn1.error import PyAsn1Error
-from pysnmp import debug
__all__ = ['ObjectIdentity', 'ObjectType', 'NotificationType']
diff --git a/pysnmp/smi/view.py b/pysnmp/smi/view.py
index 46e74d8a..e9fd405e 100644
--- a/pysnmp/smi/view.py
+++ b/pysnmp/smi/view.py
@@ -5,9 +5,11 @@
# License: http://snmplabs.com/pysnmp/license.html
#
import sys
-from pysnmp.smi.indices import OrderedDict, OidOrderedDict
-from pysnmp.smi import error
+
from pysnmp import debug
+from pysnmp.smi import error
+from pysnmp.smi.indices import OidOrderedDict
+from pysnmp.smi.indices import OrderedDict
__all__ = ['MibViewController']