1
0
mirror of https://github.com/craigerl/aprsd.git synced 2025-06-18 06:12:53 -04:00

Added pre-commit hooks

This patch adds pre-commit hook support to ensure
code passes basic checks prior to allowing a commit.
This commit is contained in:
Hemna 2021-01-06 17:50:02 -05:00
parent 8bd8b95b35
commit 75f610d971
10 changed files with 38 additions and 30 deletions

18
.pre-commit-config.yaml Normal file
View File

@ -0,0 +1,18 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.2.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-added-large-files
- repo: https://github.com/psf/black
rev: 19.3b0
hooks:
- id: black
- repo: https://gitlab.com/pycqa/flake8
rev: 3.8.1
hooks:
- id: flake8
additional_dependencies: [flake8-bugbear]

View File

@ -4,6 +4,8 @@ CHANGES
v1.5.0 v1.5.0
------ ------
* Added pre-commit hooks
* Update Changelog for v1.5.0
* Added QueryPlugin resend all delayed msgs or Flush * Added QueryPlugin resend all delayed msgs or Flush
* Added QueryPlugin * Added QueryPlugin
* Added support to save/load MsgTrack on exit/start * Added support to save/load MsgTrack on exit/start

View File

@ -414,4 +414,3 @@ Provide a csv list of pypi installable plugins. Then make sure the plugin
python file is in your /plugins volume and the plugin will be installed at python file is in your /plugins volume and the plugin will be installed at
container startup. The plugin may have dependencies that are required. container startup. The plugin may have dependencies that are required.
The plugin file should be copied to /plugins for loading by aprsd The plugin file should be copied to /plugins for loading by aprsd

View File

@ -383,10 +383,7 @@ def server(loglevel, quiet, disable_validation, config_file, flush):
rx_msg_queue = queue.Queue(maxsize=20) rx_msg_queue = queue.Queue(maxsize=20)
tx_msg_queue = queue.Queue(maxsize=20) tx_msg_queue = queue.Queue(maxsize=20)
msg_queues = { msg_queues = {"rx": rx_msg_queue, "tx": tx_msg_queue}
"rx": rx_msg_queue,
"tx": tx_msg_queue,
}
rx_thread = threads.APRSDRXThread(msg_queues=msg_queues, config=config) rx_thread = threads.APRSDRXThread(msg_queues=msg_queues, config=config)
tx_thread = threads.APRSDTXThread(msg_queues=msg_queues, config=config) tx_thread = threads.APRSDTXThread(msg_queues=msg_queues, config=config)

View File

@ -217,10 +217,7 @@ class TextMessage(Message):
def __repr__(self): def __repr__(self):
"""Build raw string to send over the air.""" """Build raw string to send over the air."""
return "{}>APRS::{}:{}{{{}\n".format( return "{}>APRS::{}:{}{{{}\n".format(
self.fromcall, self.fromcall, self.tocall.ljust(9), self._filter_for_send(), str(self.id)
self.tocall.ljust(9),
self._filter_for_send(),
str(self.id),
) )
def __str__(self): def __str__(self):

View File

@ -70,7 +70,7 @@ class PluginManager(object):
self.obj_list = [] self.obj_list = []
for path, subdirs, files in os.walk(dir_path): for path, _subdirs, files in os.walk(dir_path):
for name in files: for name in files:
if fnmatch.fnmatch(name, pattern): if fnmatch.fnmatch(name, pattern):
LOG.debug("MODULE? '{}' '{}'".format(name, path)) LOG.debug("MODULE? '{}' '{}'".format(name, path))

View File

@ -2,8 +2,6 @@
import sys import sys
import unittest import unittest
import pytest
from aprsd import email from aprsd import email
if sys.version_info >= (3, 2): if sys.version_info >= (3, 2):
@ -12,7 +10,7 @@ else:
import mock import mock
class testMain(unittest.TestCase): class TestMain(unittest.TestCase):
@mock.patch("aprsd.email._imap_connect") @mock.patch("aprsd.email._imap_connect")
@mock.patch("aprsd.email._smtp_connect") @mock.patch("aprsd.email._smtp_connect")
def test_validate_email(self, imap_mock, smtp_mock): def test_validate_email(self, imap_mock, smtp_mock):

View File

@ -1,16 +1,13 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import sys
import unittest import unittest
from unittest import mock from unittest import mock
import pytest
import aprsd import aprsd
from aprsd import plugin from aprsd import plugin
from aprsd.fuzzyclock import fuzzy from aprsd.fuzzyclock import fuzzy
class testPlugin(unittest.TestCase): class TestPlugin(unittest.TestCase):
def setUp(self): def setUp(self):
self.fromcall = "KFART" self.fromcall = "KFART"
self.ack = 1 self.ack = 1
@ -41,11 +38,11 @@ class testPlugin(unittest.TestCase):
self.assertEqual(expected, actual) self.assertEqual(expected, actual)
@mock.patch("time.localtime") @mock.patch("time.localtime")
def test_Time(self, mock_time): def test_time(self, mock_time):
fake_time = mock.MagicMock() fake_time = mock.MagicMock()
h = fake_time.tm_hour = 16 h = fake_time.tm_hour = 16
m = fake_time.tm_min = 12 m = fake_time.tm_min = 12
s = fake_time.tm_sec = 55 fake_time.tm_sec = 55
mock_time.return_value = fake_time mock_time.return_value = fake_time
time_plugin = plugin.TimePlugin(self.config) time_plugin = plugin.TimePlugin(self.config)
@ -66,7 +63,7 @@ class testPlugin(unittest.TestCase):
self.assertEqual(expected, actual) self.assertEqual(expected, actual)
@mock.patch("time.localtime") @mock.patch("time.localtime")
def test_Ping(self, mock_time): def test_ping(self, mock_time):
fake_time = mock.MagicMock() fake_time = mock.MagicMock()
h = fake_time.tm_hour = 16 h = fake_time.tm_hour = 16
m = fake_time.tm_min = 12 m = fake_time.tm_min = 12

View File

@ -28,7 +28,7 @@ commands = sphinx-build -b html docs/source docs/html
[testenv:pep8] [testenv:pep8]
commands = commands =
flake8 {posargs} aprsd flake8 {posargs} aprsd tests
[testenv:fast8] [testenv:fast8]
basepython = python3 basepython = python3
@ -43,7 +43,7 @@ skip_install = true
deps = deps =
-r{toxinidir}/dev-requirements.txt -r{toxinidir}/dev-requirements.txt
commands = commands =
flake8 aprsd flake8 aprsd tests
[flake8] [flake8]
max-line-length = 99 max-line-length = 99