Commit Graph

370 Commits

Author SHA1 Message Date
Hemna 9630279d14 First hack at flask 2021-01-21 15:11:44 -05:00
Walter A. Boring IV c686543323
Merge pull request #44 from craigerl/optional_email
Allow email to be disabled.
2021-01-21 13:53:59 -05:00
Hemna 982f24c5f5 Allow email to be disabled.
The config file defaults to email being off now.  This requires
the user to set the email settings anyway, so the default is off.
2021-01-21 13:50:19 -05:00
Walter A. Boring IV a656508ba6
Merge pull request #43 from craigerl/rework_config
Reworked the config file and options
2021-01-21 13:36:44 -05:00
Hemna ce5b09233c Reworked the config file and options
This patch reorganizes the config file layout and options
to make more logical sense as well as make it more readable.

This breaks backwards compatibility.
2021-01-21 13:32:19 -05:00
Walter A. Boring IV 2f7c1bfcc1
Merge pull request #41 from craigerl/openweathermap
Added openweathermap weather plugin
2021-01-21 10:10:26 -05:00
Hemna a35cb04ca7 Updated documentation and config output
This patch reformats the sample-config output for more
informative comments for the 3 external services:
openweathermap
opencagedata
avwx-api
2021-01-21 10:05:49 -05:00
Hemna fefb626c97 Fixed extracting lat/lon
This patch fixes an issue when aprs.fi returns a non error, but
doesn't have any real entries as the response
2021-01-20 19:51:59 -05:00
Hemna 2349024539 Added openweathermap weather plugin
This patch adds the openweathermap weather plugin.
Also adds a new config option to set the overall
units setting from imperial (default) to metric.

to change it add the following to the ~/.config/aprsd/aprsd.yaml

...
aprsd:
  units: metric
2021-01-20 16:12:17 -05:00
Craig Lamparter f8c001dc49
Merge pull request #40 from craigerl/new_plugins
Added new time plugins
2021-01-20 08:26:48 -08:00
Hemna fc3a747aa4 Added new time plugins
This patch adds 2 new time plugins to allow admins to use their
opencagedata APIkey or openweathermap API key to fetch the timezone
from the lat/lon GPS coordinates for the callsign requesting the time.

This will enable fetching the time local to the ham radio's last beacon,
and not time local to the aprsd server instance running.  If the
location is not found, then the timezone will default to UTC.

The 2 new plugins are
- aprsd.plugins.time.TimeOpenCageDataPlugin
   Fetches timezone from lat/lon using the opencagedata api that can be
   found here:  https://opencagedata.com/dashboard#api-keys

   This requires a new ~/.config/aprsd/aprsd.yml entry to specify the
   api key.
   opencagedata:
       apiKey: <the api key hash here>

- aprsd.plugins.time.TimeOWMPlugin
   Fetches the timezone from lat/lon using the openweathermap api
   that can be found here:  https://home.openweathermap.org/api_keys

   This requires a new ~/.config/aprsd/aprsd.yml entry to specify the
   api key.
   openweathermap:
       apiKey: <the api key hash here>
2021-01-20 10:19:49 -05:00
Walter A. Boring IV fdd5a6ba41
Merge pull request #38 from craigerl/timezone-fix
Fixed TimePlugin timezone issue
2021-01-19 11:29:59 -05:00
Hemna 9f38fd179e Fixed TimePlugin timezone issue
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.
2021-01-19 11:26:07 -05:00
Craig Lamparter ca05676c98 remove fortune white space 2021-01-17 08:02:45 -08:00
Craig Lamparter 83f42dd7b7 Merge branch 'master' of https://github.com/craigerl/aprsd 2021-01-17 07:57:10 -08:00
Craig Lamparter 5fb363c9e7 fix git with install.txt 2021-01-17 07:56:59 -08:00
Craig Lamparter 7de2820caa change query char from ? to ! 2021-01-17 07:55:59 -08:00
Walter A. Boring IV 55360ba5d0
Merge pull request #35 from craigerl/aprsd-dev
Added aprsd-dev plugin test cli and WxPlugin
2021-01-17 08:10:06 -05:00
Hemna b9f6fcfa0c Updated readme to include readthedocs link 2021-01-16 10:46:00 -05:00
Hemna cc8fd178ce Added aprsd-dev plugin test cli and WxPlugin
This patch adds a new CLI app called aprsd-dev.  arpsd-dev is
used specifically for developing plugins.  It allows you to run a
plugin directly without the need to run aprsd server.

This patch also adds the Weather Metar plugin called WxPlugin.
You can use it to fetch METAR from the nearest station for a callsign
or from a known METAR station id.  Call WxPlugin with a message of
'wx' for closest metar station or 'wx KAUN' for metar at KAUN wx station
2021-01-15 22:30:34 -05:00
Hemna 658e6b6202 Updated Changelog for v1.5.1 2021-01-15 13:35:04 -05:00
Hemna 98e3c246ad Updated README to fix pypi page
This patch updates the README to fix the overview image for
pypi.  This patch also updates the makefile to force broken
tox -p commands
2021-01-15 13:35:04 -05:00
Craig Lamparter 47ccce53ea
Update INSTALL.txt 2021-01-15 09:36:30 -08:00
Hemna 33a0e6c18d Updated Changelog for v1.5.0 release 2021-01-15 12:12:41 -05:00
Walter A. Boring IV 278e258648
Merge pull request #33 from craigerl/craiger-stable
add null reply for send_email
2021-01-15 12:09:55 -05:00
Hemna 0e9cfdd847 Fix tox tests. 2021-01-15 12:06:09 -05:00
Craig Lamparter f538fb26ae fix usage statement 2021-01-15 08:51:12 -08:00
Hemna d81bfd6fd5 Enabled some emailthread messages and added timestamp
This patch re-enables some log.debug messages for email, to ensure
we can see emailthread is running correctly.  Also adds a timestamp
to the query pending messages, so radios don't think it's a duplicate
message.
2021-01-15 11:12:43 -05:00
Hemna 7486770bdc Fixed main server client initialization
This fixes the usage of the singleton client class which
houses/creates the aprslib client.  We were getting multiple
logins, now we get one.
2021-01-14 15:44:07 -05:00
Craig Lamparter 53bb6bed2b Merge branch 'craiger-stable' of https://github.com/craigerl/aprsd into craiger-stable 2021-01-14 12:26:15 -08:00
Craig Lamparter 3be373d7fc test plugin expect responses update to match query output 2021-01-14 12:06:57 -08:00
Hemna 74be4f853e Fixed the queryPlugin unit test 2021-01-14 14:40:45 -05:00
Hemna 72fa550250 Removed flask code 2021-01-14 14:36:36 -05:00
Hemna 0aa905ebba Changed default log level to INFO
Also adjusted some of the logging for main, messaging and threads
to be more sane
2021-01-14 14:32:59 -05:00
Craig Lamparter e7dc537900 fix plugin tests to expect new strings 2021-01-14 11:28:59 -08:00
Craig Lamparter 0b5c9dacf0 fix query command syntax ?, ?3, ?d(elete), ?a(ll) 2021-01-14 11:21:26 -08:00
Hemna 4ca5c29d49 Fixed latitude reporting in locationPlugin
The latitude was always 0, because it was the
altitude.
2021-01-14 14:02:43 -05:00
Craig Lamparter 7e3b95fd01 get rid of some debug noise from tracker and email delay 2021-01-14 10:51:00 -08:00
Hemna 18acd64334 fixed sample-config double print 2021-01-14 13:43:10 -05:00
Craig Lamparter e11a84bf05 make sample config easier to interpret 2021-01-14 10:41:40 -08:00
Hemna 42b2e227e1 Fixed comments 2021-01-14 12:44:58 -05:00
Hemna cdde9c290b Added the ability to add comments to the config file
This patch adds a new add_config_comments() function in utils.py
that allows you to insert a comment string in a raw_yaml string
that's already been created from the yaml.dump() call.
2021-01-14 12:38:30 -05:00
Hemna 264b7536b4 Updated docker run.sh script
This updates the run.sh script during container start time
to change the env var APRS_PLUGINS to APRSD_PLUGINS
2021-01-12 16:17:11 -05:00
Hemna 54072a2103 Added --raw format for sending messages
aprsd send-message --raw "RAW APRS MESSAGE HERE"
2021-01-12 14:50:49 -05:00
Hemna f022a3e421 Fixed --quiet option
This patch fixes the --quiet option for both send-message
and server commands.   Don't write anything to STDOUT.
2021-01-12 11:26:12 -05:00
Hemna 90c4c6c59d Added send-message login checking and --no-ack
This patch adds the login failure checking for the
send-message command as well as a new command line option
--no-ack.   The new option enables sending the message directly
to aprs-is servers and then exiting immediately.  It doesn't wait
for an ack to come back.
2021-01-12 11:18:17 -05:00
Hemna bdeaf6348a Added new config for aprs.fi API Key
This patch adds the new required aprs.fi api key.  This key is used
by 2 of the core plugins, locationPlugin and weatherPlugin.

You must set the apiKey in the config, or aprsd won't start.
2021-01-12 09:51:36 -05:00
Hemna 3dd23fa2ad Added a fix for failed logins to APRS-IS
This patch adds a check for a failed login to ARPS due to
LoginError.  This accounts for bad accounts or username/password
failures.  aprsd server will exit immediately upon failed login now.
2021-01-12 09:31:04 -05:00
Hemna 94708024da Fixed unit test for fortune plugin 2021-01-11 14:29:02 -05:00
Hemna 7ab26135c2 Fixed fortune plugin failures
On alpine containers the fortune options aren't all available
and we were silently failing.  Updated the fortune plugin to capture
shell failures.
2021-01-11 14:14:16 -05:00