The existing time plugin had a hard coded PDT for pacific timezone,
when it wasn't. This patch adds some real timezone conversion from
utc to the tz of the running aprsd server. This will eventually allow
us to use either the tz of the running aprsd and/or the tz of the
calling callsign if we can just get the tz string from the location
beacon of the caller's callsign.
This patch updates the restart_delayed method to accept the count of
messages to restart as well as the most_recent flag that sorts the
messages based on most recent first. If you want the oldest first,
then pass in False
This patch moves all of the plugins out of plugin.py
into their own separate plugins/<plugin>.py file. This
makes it easier to maintain each plugin.
NOTE: You will have to update your ~/.config/aprsd/aprsd.yml
to change the python location path for each plugin enabled.
For example:
OLD:
enabled_plugins:
- aprsd.plugin.EmailPlugin
TO NEW
enabled_plugins:
- aprsd.plugins.email.EmailPlugin
This patch fixes the email.get_email_from_shortcut. It ensures that
if the lookup isn't found in the shortcut list, it simply returns
the original value. This patch also adds a unit test to specifically
test this function to always return the correct value.
This commit adds the new send-message command for sending messages.
This also redoes the logging of sent/rx'd packets to a single method
which is syncrhonized, so we don't get intermixed log messages for
packets.
Also adds email address validation during startup, and
optionally disables the validation via a command line switch. without
email validation for production running aprsd, emails sent can turn up
garbage and cause issues when those emails are received by aprsd
message processing as invalid content.
This branch refactors the majority of main.py out into individual
modules to compartmentalize the code. Migrated all email related
features unti email.py, sending of messages into messaging.py
Also refactored all of the socket code to use aprslib for all APRS-IS
communication as well as message/packet processing.
Moved the email command into it's own Plugin.
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.