This Patch updates the location plugin to allow configuring which
geopy library's supported geocoders. This patch also adds a fake
geopy geocoder class that uses the us government's API for location.
Added geopy as a dependency for the location plugin.
The us weather service API is now broken upstream.
Reworked the requirements.txt and dev-requirements.txt files
The regex search is now by default case insensitive.
Also update each core plugin to better match the command.
ping plugin can now match on
p
p foo
ping
pIng
Weather plugins can now match on
w
wx
wX
Wx KM6LYW
weather
WeaTher
This patch is the initial conversion of the custom config
and config file yaml format to oslo_config's configuration mechanism.
The resulting config format is now an ini type file.
The default location is ~/.config/aprsd/aprsd.conf
This is a backwards incompatible change. You will have to rebuild
the config file and edit it.
Also any aprsd plugins can now define config options in code and
add an setup.cfg entry_point definition
oslo_config.opts =
foo.conf = foo.conf:list_opts
This patch decouples sending a message from the internals of
the Packet classes. This allows the rest of the code to use
Packet objects as type hints in methods to enforce Packets
in the plugins.
The send method was moved to a single place in the threads.tx.send()
This patch cleans up the Packet class attributes used to
keep track of how many times packets have been sent and
the last time they were sent. This is used by the PacketTracker
and the tx threads for transmitting packets
The messaging.py now is nothing but a shell that
contains a link to packets.NULL_MESSAGE to help maintain
some backwards compatibility with plugins.
Packets dataclass has fully replaced messaging objects.
This patch reworks all the packet processing to use the new
Packets objects. Nuked all of the messaging classes.
backwards incompatible changes
all messaging.py classes are now gone and replaced by
packets.py classes
This patch fixes an issue with the processing of packets
and updateing the watchlist. Previously after the
notify plugin processed the packet it would update the watchlist.
This doesn't work when there are more than 1 notify plugins
enabled, only the first notify plugin seeing the packet will
recognize that the callsign is old.
The watchlist notify plugin is supposed to send an APRS message
to the configured callsign. This patch makes sure that the
message is sent to the notify_callsign
This removed the requirement of running APRSD for specifying
the aprs.fi key in the config file. The plugins that need the
key have been updated to set enabled = False when the key is missing.
This patch adds the always enabled HelpPlugin. This plugin
now will respond to the 'help' or 'h' commands that will
automatically build a help string based on the number of
enabled plugins. It will also respond to
help <plugin> with the plugin specific help
The email plugin was still using globals for tracking
the check_email_delay as well as the config. This
patch creates a new singleton thread safe mechanism for
check_email_delay with the EmailInfo class.
This patch adjusts the py3-email-validation usage. Since we
upgraded to 1.0.2, the signature has changed. This patch adjusts
the signature usage so it works again.