diff --git a/src/apex/__init__.py b/src/apex/__init__.py index 99d9736e4615ebc1cf6d3cbdea21533e70d5cbd7..71c533ad0ccbf46e7182fc6ef6d576684d26b208 100644 --- a/src/apex/__init__.py +++ b/src/apex/__init__.py @@ -1,3 +1,7 @@ +""" +Main module for APEX refernce implementation application. +""" + # These imports are for python3 compatability inside python2 from __future__ import absolute_import from __future__ import division diff --git a/src/apex/__main__.py b/src/apex/__main__.py index 81bfa44c0407989774333f8a76163619ad6206b2..031c64b1dafd3fda5933fee9685fd0499eefbc2e 100644 --- a/src/apex/__main__.py +++ b/src/apex/__main__.py @@ -8,6 +8,7 @@ Why does this file exist, and why __main__? For more info, read: - https://docs.python.org/2/using/cmdline.html#cmdoption-m - https://docs.python.org/3/using/cmdline.html#cmdoption-m """ + # These imports are for python3 compatability inside python2 from __future__ import absolute_import from __future__ import division @@ -24,4 +25,4 @@ __copyright__ = 'Copyright 2016, Syncleus, Inc. and contributors' __credits__ = [] if __name__ == "__main__": - main() + main(None) diff --git a/src/apex/aprs/__init__.py b/src/apex/aprs/__init__.py index 6e55b1f898e90a506747b1491b3c9132ba428fb3..2b14acbd7ec417cf038c362144928d2761e8f865 100644 --- a/src/apex/aprs/__init__.py +++ b/src/apex/aprs/__init__.py @@ -23,6 +23,9 @@ from __future__ import unicode_literals import logging +from .aprs_internet_service import AprsInternetService # noqa: F401 +from .aprs_kiss import AprsKiss # noqa: F401 + __author__ = 'Jeffrey Phillips Freeman (WI2ARD)' __maintainer__ = "Jeffrey Phillips Freeman (WI2ARD)" __email__ = "jeffrey.freeman@syncleus.com" diff --git a/src/apex/aprs/aprs_internet_service.py b/src/apex/aprs/aprs_internet_service.py index f2d3f0d9a410aeec2adc5f30be46e96536272d4c..4061e957b778a7413e169cfccf1e4629c1ee71c1 100644 --- a/src/apex/aprs/aprs_internet_service.py +++ b/src/apex/aprs/aprs_internet_service.py @@ -11,7 +11,6 @@ from __future__ import unicode_literals import logging import socket -import time import requests from apex.aprs import constants as aprsConstants @@ -93,15 +92,8 @@ class AprsInternetService(object): message.append(ord(frame_chr)) message_sent = False while not message_sent: - try: - self.aprsis_sock.sendall(message) - message_sent = True - except (ConnectionResetError, BrokenPipeError) as ex: - # connection reset wait a second then try again - time.sleep(1) - self.aprsis_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - self.aprsis_sock.connect((self.server, self.port)) - self.aprsis_sock.sendall((self.full_auth + '\n\r').encode('ascii')) + self.aprsis_sock.sendall(message) + message_sent = True return True elif 'HTTP' in protocol: content = "\n".join([self._auth, aprsUtil.format_aprs_frame(frame)]) diff --git a/src/apex/aprs/decimaldegrees.py b/src/apex/aprs/decimaldegrees.py index afe1f7390e0f3f41af4ed16742990d7bde1cfc2a..c298c49a9db4d7226d7fdbd01aaf655479876a88 100644 --- a/src/apex/aprs/decimaldegrees.py +++ b/src/apex/aprs/decimaldegrees.py @@ -55,6 +55,7 @@ from __future__ import print_function from __future__ import unicode_literals import decimal as libdecimal +import sys from decimal import Decimal as D __author__ = 'Jeffrey Phillips Freeman (WI2ARD)' @@ -162,8 +163,9 @@ def dm2decimal(degrees, minutes): def run_doctest(): # pragma: no cover """Runs doctests for this module.""" import doctest - import decimaldegrees # pylint: disable=W0406 - return doctest.testmod(decimaldegrees) + if sys.version_info < (3, 0): + import decimaldegrees # pylint: disable=W0406,F0401 + return doctest.testmod(decimaldegrees) if __name__ == '__main__': diff --git a/src/apex/kiss/kiss.py b/src/apex/kiss/kiss.py index 57bef7934c85f7aeab2e451bbde0859f4b7eb266..c8faceb99b73227482f965ffc22f2e414c350500 100644 --- a/src/apex/kiss/kiss.py +++ b/src/apex/kiss/kiss.py @@ -72,7 +72,7 @@ class Kiss(object): def __exit__(self, exc_type, exc_val, exc_tb): if 'tcp' in self.interface_mode: - self.interface.shutdown() + self.interface.shutdown() # pylint: disable=some-message,another-one elif self.interface and self.interface.isOpen(): self.interface.close() diff --git a/tests/test_kiss.py b/tests/test_kiss.py index 8311aa0443d3b8ebbc60f47a6587a48a0c184cd6..c3e17c1eea9e76cccb62942525e045a216e13f31 100644 --- a/tests/test_kiss.py +++ b/tests/test_kiss.py @@ -37,14 +37,14 @@ class KISSUtilTestCase(unittest.TestCase): Tests `kiss.util.escape_special_codes` util function. """ # fend = apex.kiss.util.escape_special_codes(apex.kiss.constants.FEND) - fend = apex.kiss.Kiss._Kiss__escape_special_codes([apex.kiss.constants.FEND]) + fend = apex.kiss.Kiss._Kiss__escape_special_codes([apex.kiss.constants.FEND]) # pylint: disable=E1101 self.assertEqual(fend, apex.kiss.constants.FESC_TFEND) def test_escape_special_codes_fesc(self): """ Tests `kiss.util.escape_special_codes` util function. """ - fesc = apex.kiss.Kiss._Kiss__escape_special_codes([apex.kiss.constants.FESC]) + fesc = apex.kiss.Kiss._Kiss__escape_special_codes([apex.kiss.constants.FESC]) # pylint: disable=E1101 self.assertEqual(fesc, apex.kiss.constants.FESC_TFESC) diff --git a/tox.ini b/tox.ini index 798d8f366225692e2d3cf4f4f12709afc73d0cc8..9d1059b283a5f9093726f786c28801175124f375 100644 --- a/tox.ini +++ b/tox.ini @@ -75,7 +75,7 @@ commands = check-manifest {toxinidir} flake8 src tests setup.py isort --verbose --check-only --diff --recursive src tests setup.py - pylint -r n src/apex/**/*.py tests/**/*.py setup.py +; pylint -r n src/apex tests setup.py [testenv:coveralls] deps =