d09a66006b
Created plugin.py for Command Plugins
...
This patch adds the new APRSD Command Plugin architecture.
All Comand plugins must implement the same object API, which includes
plugin object is subclass of APRSDPluginBase
version attribute
command_regex attribute
command method
When an APRS command is detected, then the regex is run against
the command. If the command_regex matches, then the plugin's
command() method will be called. If the command() method returns
a string, then that string is sent as a reply to the APRS caller.
A new aprs.yml config section is added to support selecting
which plugins to enable.
If you want all plugins enabled, then omit "enabled_plugins" entirely
from the aprs section of the config.
To load custom plugins:
1) create a directory with an __init__.py file
2) Add a plugin.py file that contains your plugin
Look at the exmaples directory for an example plugin.
2020-12-13 20:57:30 -05:00
Craig Lamparter
8c9c12b3fc
Merge pull request #14 from hemna/socket_select
...
Refactor networking and commands
2020-12-12 09:10:52 -08:00
00d99bc2c4
Refactor networking and commands
...
This patch refactors the socket management
to use select, as well as refactor all of the
commands into a COMMAND_ENVELOPE dictionary.
This patch also adds the Dockerfile and
docker-compose.yml files
2020-12-11 19:29:18 -05:00
Craig Lamparter
43509ea9e6
get rid of some debug statements
2020-12-11 10:23:14 -08:00
Craig Lamparter
bb1a2ee61a
yet another unicode problem, in resend_email fixed
2020-12-11 09:49:26 -08:00
Craig Lamparter
d3bb44feec
reset default email check delay to 60, fix a few comments
2020-12-11 06:53:38 -08:00
Craig Lamparter
40472ca7d6
Merge pull request #13 from hemna/test
...
Update tox environment to fix formatting python errors
2020-12-11 06:19:16 -08:00
53b8f21535
Update tox environment to fix formatting python errors
...
This patch includes lots of changes to tox environment for
automatically detecting pep8 failures, which can cause python2 vs
python3 failures after install.
The following tox commands have been added
tox -efmt-check - This checks the python syntax and formatting
tox -efmt - Automatically fixes python syntax formatting that
fmt-check complains about.
tox -etype-check - check on types
tox -elint - flake8 run
This patch also changes where the default config file is located.
The new location is ~/.config/aprsd/aprsd.yml
You can now also specify a custom config file on the command line
with the -c or --config option as well.
2020-12-11 08:47:56 -05:00
Craig Lamparter
2bebd83449
fixed fortune. yet another unicode issue, tested in py3 and py2
2020-12-10 15:54:38 -08:00
Craig Lamparter
c5517a7cb5
lose some logging statements
2020-12-10 15:29:29 -08:00
Craig Lamparter
86bf42802c
completely off urllib now, tested locate/weather in py2 and py3
2020-12-10 15:15:19 -08:00
Craig Lamparter
b38f561b84
add urllib import back until i replace all calls with requests
2020-12-10 12:19:40 -08:00
Craig Lamparter
ad0f96d1aa
cleaned up weather code after switch to requests ... from urllib. works on py2 and py3
2020-12-10 10:21:31 -08:00
Craig Lamparter
00432cf5bb
switch from urlib to requests for weather, tested in py3 and py2. still need to update locate, and all other http calls
2020-12-10 10:11:35 -08:00
Craig Lamparter
4b09fad876
imap tags are unicode in py3. .decode tags
2020-12-10 09:10:59 -08:00
Craig Lamparter
9cd65424f8
Update INSTALL.txt
2020-12-09 08:05:08 -08:00
Craig Lamparter
9dcb73b2a1
Merge pull request #12 from hemna/click
...
Click
2020-12-09 07:33:25 -08:00
50fb090557
Initial conversion to click
2020-12-09 09:47:37 -05:00
craigerl
b553987350
Reconnect on socket timeout
2020-12-09 09:40:23 -05:00
Craig Lamparter
735cb3a557
clean up code around closed_socket and reconnect
2020-12-09 09:34:34 -05:00
Craig Lamparter
ef132d8037
Update INSTALL.txt
2020-12-09 09:32:27 -05:00
51832ea75e
Fixed all pep8 errors and some py3 errors
...
This introduced the six lib which can translate common
py2 vs py3 incompatibilities.
https://six.readthedocs.io/
2020-12-09 09:31:36 -05:00
craigerl
b552f9611f
fix check_email_thread to do proper threading, take delay as arg
2020-12-09 09:27:44 -05:00
Craig Lamparter
f69f9a2027
found another .decode that didn't include errors='ignore'
2020-12-08 17:07:23 -08:00
Craig Lamparter
90fcb9973b
some failed attempts at getting the first txt or html from a multipart message, currently sends the last
2020-12-08 15:31:56 -08:00
Craig Lamparter
3c16149e71
fix parse_email unicode probs by using body.decode(errors='ignore').. again
2020-12-08 15:01:07 -08:00
Craig Lamparter
44228c63b3
fix parse_email unicode probs by using body.decode(errors='ignore')
2020-12-08 14:59:28 -08:00
Craig Lamparter
371a7a08ac
clean up code around closed_socket and reconnect
2020-12-08 09:27:24 -08:00
Craig Lamparter
e6995c3605
socket timeout 5 minutes
2020-12-07 10:08:21 -08:00
Craig Lamparter
4b67df2907
Detect closed socket, reconnect, with a bit more grace
2020-12-06 12:01:32 -08:00
Craig Lamparter
31618ce666
Merge branch 'master' of https://github.com/craigerl/aprsd
2020-12-06 11:54:41 -08:00
Craig Lamparter
b8f37fac6e
can detect closed socket and reconnect now
2020-12-06 11:54:11 -08:00
Craig Lamparter
22f7123e17
Update INSTALL.txt
2020-12-06 09:07:07 -08:00
craigerl
174e8054de
Merge branch 'master' of https://github.com/craigerl/aprsd
2020-12-06 08:59:45 -08:00
craigerl
3d7e3a4e54
more debugging messages trying to find rare tight loop in main
2020-12-06 08:59:33 -08:00
Craig Lamparter
54a2c016c9
Update INSTALL.txt
2020-12-06 08:53:54 -08:00
craigerl
85b17c3398
Merge branch 'master' of https://github.com/craigerl/aprsd
2020-12-05 19:24:17 -08:00
craigerl
a4faa7614c
main loop went into tight loop, more debug prints
2020-12-05 19:23:17 -08:00
craigerl
b597228719
main loop went into tight loop, added debug print before every continue
2020-12-05 18:59:58 -08:00
Craig Lamparter
d1ab8bc27d
Update INSTALL.txt
2020-12-05 12:56:52 -08:00
Craig Lamparter
89069af58a
Update INSTALL.txt
2020-12-05 12:55:15 -08:00
craigerl
3ae7a056b6
George Carlin profanity filter
2020-12-05 12:50:08 -08:00
craigerl
cf73add2db
added decaying email check timer which resets with activity
2020-12-05 11:30:31 -08:00
Craig Lamparter
901b17a94c
Merge pull request #11 from hemna/py3
...
Fixed all pep8 errors and some py3 errors
2020-12-05 08:13:27 -08:00
a3813eaf3a
Merge branch 'master' into py3
2020-12-04 16:48:28 -05:00
4084ddfe31
Fixed all pep8 errors and some py3 errors
...
This introduced the six lib which can translate common
py2 vs py3 incompatibilities.
https://six.readthedocs.io/
2020-12-04 16:46:34 -05:00
06a63f541e
Fixed all pep8 errors and some py3 errors
...
This introduced the six lib which can translate common
py2 vs py3 incompatibilities.
https://six.readthedocs.io/
2020-12-04 16:43:30 -05:00
craigerl
ecd0e8f95e
Reconnect on socket timeout
2020-12-04 16:43:12 -05:00
craigerl
5e96706f7a
socket reconnect on timeout testing
2020-12-04 16:42:45 -05:00
craigerl
32e146d105
socket timeout of 300 instead of 60
2020-12-04 13:37:29 -08:00