Commit Graph

350 Commits (6fb8fbab1974fe424025a3f1b99532d5339e3ce0)

Author SHA1 Message Date
Chris Caron b83bc37522
Copywrite update & support boolean based asset values in YAML config (#301) 2020-09-26 20:26:45 -04:00
Chris Caron a853546f0f
Strict enforcing of +, -, and : prefixed kwargs in URLs (#302) 2020-09-26 20:14:55 -04:00
Chris Caron fcd81160be
Added additional security for attachment handling (#300) 2020-09-21 11:26:02 -04:00
Chris Caron 7187af5991
Unit test to prove async_mode flag is behaving as expected (#297) 2020-09-17 19:33:34 -04:00
Chris Caron 784e073eea
Discord markdown enhancements (#295) 2020-09-13 23:06:41 -04:00
Chris Caron 49faa9a201
Lametric Time cloud mode support fixed (#293) 2020-09-13 22:13:27 -04:00
Chris Caron b1373bf428
Improved YAML configuration parsing (#288) 2020-09-03 13:25:01 -04:00
Chris Caron 8cf638ca9b bumped version to v0.8.8 2020-09-02 07:54:40 -04:00
Chris Caron 397ad4de0f
LaMetric Time supports icon= for custom defined ones (#287) 2020-09-01 21:46:21 -04:00
Chris Caron cba8599764
YAML extended configuration support for 'include' keyword (#284) 2020-08-28 18:09:32 -04:00
Chris Caron 66d285a57e
Honor deprecation notices by removing them and accompanied code (#283) 2020-08-28 16:49:09 -04:00
Chris Caron 6dfd429b25
Added bulletproofing to configuation parsing (#282) 2020-08-27 17:45:25 -04:00
Chris Caron 25514643f6
Apprise configuration support for 'include' keyword (#278) 2020-08-25 17:54:31 -04:00
Chris Caron 6e1b8a0bd6
Advanced email parsing added; eg: Full Name email@domain.com (#276) 2020-08-18 14:05:29 -04:00
Chris Caron ca695ed398
Telegram bot owner detection moved from init() to send() (#274) 2020-08-16 22:42:35 -04:00
Chris Caron aa039e74b2
Python asyncio Integration - Notifications sent Asynchronously (#273) 2020-08-15 20:28:15 -04:00
Chris Caron 4f4b15d47e
Asset passed into AppriseConfig() is now recognized (#272) 2020-08-14 21:40:19 -04:00
Chris Caron 0ef4e45fab
Better Email Internationalization Support (#270) 2020-08-08 21:05:30 -04:00
Chris Caron ad6316bda0
Improved URL parsing; introducing IPV6 support (#269) 2020-08-08 09:08:49 -04:00
Chris Caron bc44bdca84
Lametric Time/Clock support added (#267) 2020-08-07 15:27:58 -04:00
Chris Caron 479218da6a
Growl notification library rewrite; gntp now external dependency (#252) 2020-08-04 12:04:23 -04:00
Chris Caron ffcde046b0
Python 3.9 Beta CI added & Fedora 33 Rawhide support (#265) 2020-08-01 11:58:21 -04:00
Chris Caron 3b8b790871
Added Spontit support (#253) 2020-08-01 09:36:34 -04:00
Chris Caron a91064af8f
Refactored templating; introduced rto= and cto= URL parameters (#264) 2020-07-31 21:49:38 -04:00
Chris Caron 57cb5f38d2
--input-format (-i) switch added to CLI (#261) 2020-07-28 20:51:05 -04:00
Chris Caron 84feb163aa
Gotify supports extended URL paths beyond just the hostname (#259) 2020-07-27 11:10:54 -04:00
Chris Caron 70b3f51f6a
PopcornNotify Support added (#148) 2020-07-23 10:04:59 -04:00
Chris Caron 9f2f42f715 inline documentation typos/cleanup 2020-07-19 14:59:33 -04:00
Chris Caron 154839e791
Updated Discord API Endpoint for Nov 7th, 2020 Deadline (#250) 2020-07-19 11:08:41 -04:00
Chris Caron aac8455a5f
Improved CLI parsing; now support keywords containing URLs (#241) 2020-06-09 15:36:03 -04:00
Chris Caron 73046207d5
apprise-api python 3 compatibility bugfix (#239) 2020-06-07 18:13:18 -04:00
Chris Caron 3af32412df
added avatar_url keyword support to Discord; refs #234 (#237) 2020-06-07 14:08:57 -04:00
Chris Caron b318c4d208
flake8 InvocationError's resolved (#238) 2020-06-07 13:37:07 -04:00
Chris Caron e9452b6f03
Office 365 Notification (via Email) Support (#229) 2020-05-03 21:34:15 -04:00
Chris Caron 5f3e9462cd
MacOS X Terminal Notifier Support (#221) 2020-03-30 20:13:35 -04:00
Chris Caron 3a8a7711dc ImportErrors thrown if sleekxmpp was missing fixed 2020-03-30 16:59:09 -04:00
Chris Caron 6a79d38e12
Refactored XMPP notification service (#220) 2020-03-28 21:27:28 -04:00
Andreas Motl 7c251bf35c
Fix XMPP plugin (#217) 2020-03-27 11:54:01 -04:00
Chris Caron 3895ad9b58
Eliminate Slack webhook token restrictions (#219) 2020-03-20 13:05:01 -04:00
Chris Caron 44905e5c6e
Email plugin allows no auth and added smtp_server detection (#214) 2020-03-18 13:57:24 -04:00
Chris Caron 1ce7cbb679
Add support for Join:// DeviceNames (#207) 2020-02-20 18:48:10 -05:00
Chris Caron dbe8471276
Add Kavenegar Support (#201) 2020-01-29 13:08:19 -05:00
Chris Caron fa20b38e76
Apprise Configuration can be added directly (#199) 2020-01-24 18:04:28 -05:00
Chris Caron 384dd94b06
Resolves error response on successful Slack post (#196) 2020-01-17 18:16:45 -05:00
Chris Caron 2e6a996980
Sinch support added (#185) 2020-01-14 20:57:14 -05:00
Chris Caron a235d9d5ab
Attachment consistency across supported notification services (#194)
* some test cleanup

* Attachment handling more consistent across plugins
2020-01-11 18:39:53 -05:00
Chris Caron 370564943e
Pushover Attachment Support (#190) 2019-12-27 08:35:10 -05:00
lockhead 8d2a53cedf Support for t2bot.io webhooks for Matrix (#189) 2019-12-22 19:10:54 -05:00
Chris Caron 408810d6b4
URL parameters preserved for attachment queries (#187) 2019-12-15 13:17:58 -05:00
Chris Caron d1a15978af
Nextcloud Support (#186) 2019-12-12 19:37:05 -05:00
Chris Caron a29764c647
PushSafer Support (#184) 2019-12-08 20:34:34 -05:00
Chris Caron 9b8fd4d2d5
Enigma2 Device Support (#182) 2019-11-28 19:12:23 -05:00
Chris Caron 4bddcadfb8
AppriseAsset refactored; added body_format default (#181) 2019-11-26 20:11:06 -05:00
Chris Caron 4692941efa Improved exception handling of JSON responses 2019-11-24 16:26:11 -05:00
Chris Caron 4065108b08
Telegram Attachment Support (#178) 2019-11-23 22:15:27 -05:00
Chris Caron 3b19f43244
PushBullet Attachment Support (#176) 2019-11-21 22:12:47 -05:00
Chris Caron c8a5d3b0c2
Refactored configuration + cache support added (#175) 2019-11-17 15:51:40 -05:00
Chris Caron 44a3527221 added cache control to attachments feature 2019-11-15 23:08:38 -05:00
Chris Caron cb9b4fd103 Discord Attachment Support 2019-11-14 22:14:37 -05:00
Chris Caron 0175da1583 Slack Attachment + Bot Support 2019-11-14 22:13:21 -05:00
Chris Caron 002cebfaa3 attachment code hardening + 100% test coverage 2019-11-11 11:34:25 -05:00
Chris Caron 25d56d3fad added attachment framework 2019-11-10 23:36:58 -05:00
Chris Caron 5ee9065b5b added exception handling for (dbus://) SessionBus 2019-10-29 19:57:21 -04:00
Chris Caron 71b59f9bbb dbus:// url() lookup bugfix 2019-10-27 17:10:51 -04:00
Chris Caron 031f6776cc better fullpath support in XML and JSON services 2019-10-27 14:32:51 -04:00
Chris Caron 5ec5414261
Added support for self-hosted Notica servers (#169) 2019-10-27 14:07:47 -04:00
Chris Caron acc461d598
Notica Support Added; fixes #165 (#166) 2019-10-19 09:28:31 -04:00
Chris Caron 82683230a5
config files now correctly parse native urls (#164) 2019-10-13 14:38:18 -04:00
Chris Caron ccc9aba55a syslog://facility url support added 2019-10-13 14:37:15 -04:00
Chris Caron aee893152c
Notifico Support (#163) 2019-10-13 13:59:02 -04:00
Chris Caron 6787d33e6b native urls now correctly accept arguments 2019-10-12 18:02:05 -04:00
Chris Caron 2792d18289
Syslog Support (#162) 2019-10-11 21:24:44 -04:00
Chris Caron c6922d8f3a
Refactored qa, unit testing, and service init; refs #157 (#160) 2019-10-09 12:39:31 -04:00
Chris Caron 7f60fff521
Exclusive Apprise URL Tag matching (#154) 2019-09-29 18:19:55 -04:00
Chris Caron 1d84f7fd8a
url() supports privacy flag for masking pwds, tokens, apikeys, etc (#156) 2019-09-29 17:17:25 -04:00
Chris Caron 1047f36c6e
Apprise and AppriseConfig truth value support added (#155) 2019-09-28 14:19:55 -04:00
Chris Caron eae45149b3 MessageBird unit test added 2019-09-20 20:56:00 -04:00
Chris Caron b2635b8a65
Kumulos Support (#151) 2019-09-11 22:10:32 -04:00
Chris Caron a459aaffef
Fixed bug related to discord markdown formatting; refs #149 (#150) 2019-09-10 20:08:25 -04:00
Chris Caron 24fd7d5baa
SimplePush Support (#146) 2019-09-07 18:57:02 -04:00
Chris Caron a420375cc7
Pushjet refactored; dropped pushjet library and deps (#147) 2019-09-07 18:39:18 -04:00
Chris Caron 119863568a inline doc cleanup + messagebird minor fix 2019-09-06 19:50:41 -04:00
Chris Caron 03295517ed
ClickSend Support (#145) 2019-09-06 19:41:23 -04:00
Chris Caron 4ff48cbe56
MessageBird Support (#142) 2019-08-22 20:01:20 -04:00
Chris Caron 12fed2b6bd Added Cc and Bcc Support to Email Plugin 2019-08-20 21:34:13 -04:00
Chris Caron 5427e453a0
MSG91 Support (#141) 2019-08-18 15:30:38 -04:00
Chris Caron 9ebff62cc6
SendGrid Support Added (#140) 2019-08-18 00:39:21 -04:00
Chris Caron 805bec2396 bugfix - exception no longer thrown on lone comment delimiter 2019-08-17 23:38:55 -04:00
Chris Caron 42091a9f69
Added Techulus Push Notifications (#138) 2019-07-19 22:42:41 -04:00
Chris Caron 2609680792
Added Twist Support (#137) 2019-07-18 22:41:10 -04:00
Chris Caron f3d335b748
100% test coverage + handling of test warnings (#134)
* 100% test coverage again + handling of test warnings
* dropped unreferenced dependencies
2019-06-30 15:32:12 -04:00
Chris Caron 7a89b08a83
Twitter Notification Rewrite; dropped tweepy backend (#133) 2019-06-29 18:27:59 -04:00
Chris Caron 1814dc9edf
Added SMS Notification support for D7 Networks (#131) 2019-06-26 20:34:30 -04:00
Chris Caron f102b52248
Added Zulip Chat Support (#129) 2019-06-23 14:03:45 -04:00
copart 78d5465ff6 Pushover Notification: Added handling of emergency priority (#127) 2019-06-19 13:04:35 -04:00
Chris Caron e7ba4c03df
ValueError unknown locale error fix (#128) 2019-06-18 20:29:03 -04:00
Chris Caron 603e00bbce
Added Nexmo SMS Notification Support (#123) 2019-06-06 22:59:05 -04:00
Daniel Craigmile 35d2d358e7 Mailgun API key validation removed (#122)
* don't validate the format of the Mailgun API key
* remove test validating Mailgun API key
* remove rather than comment
* remove no-longer-relevant regex for Mailgun API key validation

refs #121
2019-06-06 22:39:38 -04:00
Chris Caron 3b28823b23
Added sub-path support to MatterMost Notifications 2019-06-06 12:40:14 -04:00
Chris Caron f373e41a91
handles exception thrown when no localization is detected refs #118 2019-06-04 22:13:15 -04:00
Chris Caron 6d9069e106
Notification Service Native URL Support; refs #109 2019-05-31 20:56:54 -04:00
Chris Caron d5dfbf74fa
Token details + internationalization (i18n) support; refs #59 2019-05-29 20:07:05 -04:00
Chris Caron 4c375c8a05
Added sound support to Pushover Notifications; refs #113 2019-05-28 16:38:26 -04:00
Chris Caron 554c7f0b10
Rocket.Chat Refactored for Webhook Support; refs #107 2019-05-21 21:50:50 -04:00
Chris Caron ac56a409a0
Added default configuration paths for Microsoft users (#111) 2019-05-14 16:54:45 -04:00
Chris Caron 9a26de53c3 disabled logging for subsequent tests 2019-05-13 21:03:42 -04:00
Chris Caron 51a5ce344a
Support Slack URLs missing channel references (#108) 2019-05-11 15:02:56 -04:00
Chris Caron 55fb17280e
Added Twilio Support (#106) 2019-05-09 10:06:20 -04:00
Chris Caron 28b67d42f3
Better handling of multiple URLs delimited by space/comma 2019-04-27 23:21:35 -04:00
Chris Caron 25f5066e27
Added Mailgun support; refs #101 2019-04-27 17:41:20 -04:00
Chris Caron 22735babea added missing assert check 2019-04-26 21:09:37 -04:00
Chris Caron 2c080d7269 fixed bug preventing email as userid for custom emails; refs #101 2019-04-25 21:28:38 -04:00
Chris Caron 4e35d5fe48 Cisco Webex Teams Notification Support; refs #95 2019-04-07 09:23:55 -04:00
Chris Caron 5997f6d6c5
Merge pull request #97 from caronc/logging-customization
Added deprecate and trace logging directives
2019-04-05 22:56:37 -04:00
Chris Caron 4a86a724b0 Microsoft Teams Notification Support; refs #94 2019-04-05 22:16:22 -04:00
Chris Caron de5c5e4331 Added deprecate and trace logging directives 2019-04-05 19:57:48 -04:00
Chris Caron 02dd6dd8b3 test to verify no double url str escaping occurs 2019-04-03 20:27:59 -04:00
Chris Caron 842de28191 normalize plugin classes mass code cleanup 2019-03-31 15:10:08 -04:00
Chris Caron 1c757d8032 Gitter Notification Support 2019-03-26 21:11:23 -04:00
Chris Caron ab2bd92aed XMPP Notification Support; refs #40 2019-03-21 21:20:28 -04:00
Chris Caron 27c793d301
Merge pull request #88 from caronc/80-matrix-refactoring-part-two
Merged Matrix Webhook functionality with server config; refs #80
2019-03-18 12:12:38 -04:00
Chris Caron 3cc060f3ea Added Flock Notification Support 2019-03-17 19:57:01 -04:00
Chris Caron 28e490ab67 Merged Matrix Webhook functionality with server config; refs #80 2019-03-17 15:38:45 -04:00
Chris Caron 96064cff25 Dynamic module loading; just drop in plugins now 2019-03-16 23:35:06 -04:00
Chris Caron d2262e9167 Added Gotify Support; refs #23 2019-03-12 20:34:45 -04:00
Chris Caron 6b875ac093 Complete refactoring of entire Matrix plugin; refs #80 2019-03-10 14:29:50 -04:00
Chris Caron 741d244c5a escape_html bulletproofing 2019-03-10 12:24:57 -04:00
Chris Caron 268d11f181 title handling and bulletproofing 2019-03-10 12:10:01 -04:00
Chris Caron 643dc3f561 updated granularity of logging - include warning 2019-03-10 10:51:36 -04:00
Chris Caron 1f9daeaa2b Config file support added for http & file (yaml); refs #55 2019-03-04 23:32:47 -05:00
Chris Caron 0ab86c2115 Config file support added for http & file (text); refs #55 2019-03-03 17:41:08 -05:00
Chris Caron 81b6e7a212 handle ValueError Exception via Gnome import; refs #75 2019-02-24 11:43:01 -05:00
Chris Caron 9f1f2059d9 handle ValueError Exception via Dbus import; refs #75 2019-02-23 15:42:29 -05:00
Chris Caron 8e284f159f random test failing on split() fix 2019-02-21 21:13:31 -05:00
Chris Caron 9bd0144112 experimented with sphinx function inline doc 2019-02-18 21:24:30 -05:00
Chris Caron 75bde9d2a7 travis-ci set to run pep8 tests as part of CI 2019-02-17 23:38:00 -05:00
Chris Caron eb4c83f3f8 NotifyBase() home of notify(); calls send() in children 2019-02-17 22:48:53 -05:00
Chris Caron 7d9715aa5a refactored and drastically improved throttling functionality 2019-02-17 16:35:09 -05:00
Chris Caron b1133be85b refactored how +/- prefixed url arguments are handled 2019-02-17 13:45:48 -05:00
Chris Caron cdd72086ee Implimented overflow support (upstream, truncate, and split) 2019-02-17 09:41:55 -05:00
Chris Caron 0d56da9ac8 added service.url(), apprise.urls(), iter support and pop() 2019-02-17 09:41:55 -05:00
Kaustubh Phatak 761291e65c
Issue 69: Tests for Headers support 2019-02-15 14:37:55 -08:00
Chris Caron 669940390e
Merge branch 'master' into 54-ryver-notifications 2019-02-11 19:52:49 -05:00
Chris Caron bb7b2dd4ca Phase No 2 - AWS SNS Support using requests; refs #43 2019-02-10 17:42:30 -05:00
Chris Caron 90d421cbc8 Phase No 1 - AWS SNS Support using boto3; refs #43 2019-02-09 17:34:53 -05:00
Chris Caron d515f99881 Added Ryver support; refs #54 2019-02-09 17:24:32 -05:00
Chris Caron 43f6aa33e5
Merge pull request #66 from caronc/34-tag-notification-support
Added ability to tag notifications; refs #34
2019-02-09 01:55:16 -05:00
Chris Caron 7661b34f9c
Merge pull request #65 from caronc/36-kde-notifications
DBus Support - kde://, qt://, dbus://, and glib:// added; refs #36
2019-02-09 01:40:59 -05:00
Chris Caron e95bfcf6fd DBus Support - kde://, qt://, dbus://, and glib:// added; refs #36 2019-02-09 01:07:43 -05:00
Chris Caron fd81829d97 added ability to tag notifications; refs #34 2019-02-09 00:36:09 -05:00
Chris Caron c2507617cd
Merge pull request #58 from caronc/53-discord-formatting-bug
Discord supports other input forms other than just markdown; refs #53
2019-02-08 13:31:31 -05:00
Chris Caron 5092819849 text clarification (copy/paste leftover fix) 2019-02-06 22:12:22 -05:00
Chris Caron bf1b61d23c
Merge branch 'master' into 56-decommission-stride 2019-02-06 22:03:00 -05:00
Chris Caron d943a7c0a0
Merge branch 'master' into 46-decommission-palot 2019-02-06 21:52:16 -05:00
Chris Caron 23e7a58ff7
Merge branch 'master' into 46-decommission-toasty 2019-02-06 21:39:54 -05:00
Chris Caron 1b924d09b1
Merge branch 'master' into 46-pjet-selfhost-support-only 2019-02-06 21:31:07 -05:00
Chris Caron 084997d33e Removal of stride:// as service is going down on 2019.02.15; refs #56 2019-02-06 21:19:52 -05:00
Chris Caron 7345481a4e Updated of pjet:// docs+url as online service is no longer available; refs #46 2019-02-06 21:07:22 -05:00
Chris Caron fa6e34eb86 Removal of palot:// as service is no longer available; refs #46 2019-02-06 20:45:00 -05:00
Chris Caron 37c100c10f Removal of toasty:// as service is no longer available; refs #46 2019-02-06 20:30:29 -05:00
Chris Caron a97bc50ee4 Added Pushed Notification support; refs #45 2019-02-06 20:04:13 -05:00
Chris Caron bfdeb340f5 updated discord to default to notify_text; refs #53 2019-02-06 19:56:47 -05:00
Chris Caron a2c44cf90b telegram markdown support added; refs #52 2019-02-05 23:56:05 -05:00
Chris Caron b5066e90a0 NotifyGnome code cleanup + pep8 fixes; refs #36 2019-02-04 19:59:54 -05:00
Chris Caron 5efba29730 Gnome Notification Support added; refs #36 2019-02-02 21:25:42 -05:00
Chris Caron 0a0ce64ad7 Converted to MIT Licensing; refs #47 2019-01-31 21:05:56 -05:00
Chris Caron da902c228c Added contributions file and docs for Matrix support; refs #28 2019-01-27 10:48:28 -05:00
Wim de With e857600d55 Add Matrix notify plugin 2019-01-02 20:25:53 +01:00
lead2gold 0621e2ff4a Merge pull request #24 from sentriz/patch-1
update discord setup url
2018-12-16 20:10:51 +00:00
Chris Caron e02940dab4 finished applying meta data for details() function; refs #21 2018-10-09 21:22:20 -04:00
Chris Caron 4479a7f71b details() preview commit for review; refs #21 2018-10-08 15:21:08 -04:00
Chris Caron 5970eb590a coverage updates (keep to 100%) 2018-09-09 10:00:55 -04:00
Chris Caron 68270459d0 Windows notification support; refs #14 2018-09-09 10:00:55 -04:00
Chris Caron 804e27c5fd deprication warning cleanup 2018-09-08 22:16:58 -04:00
Chris Caron dbab994f37 pep8 fixes 2018-09-05 21:27:52 -04:00
Chris Caron 83200d6e58 bulletproof added to socket handling of email; refs #15 2018-09-05 21:09:40 -04:00
Chris Caron 6177e6553f EmailPlugin now better supports to= variable; fixes #11 2018-05-30 20:14:41 -04:00
geeseven 97c18d2c3b remove NMA, see #9 2018-05-22 12:04:59 -05:00
Chris Caron 7e38921835 refactored how plugins inheritied properties 2018-03-30 22:29:36 -04:00
Chris Caron b040e232ae enhanced Discord formatting with markdown; refs #10 2018-03-24 23:24:06 -04:00
Chris Caron 2a64c6bafb refactored cli; renaming notify.py to apprise + testing 2018-03-13 19:41:36 -04:00
Chris Caron 1002f60be1 skip tests that fail when ran as root user 2018-03-12 22:22:26 -04:00
Chris Caron afddd9e897 Added IFTTT support; fixes #7 2018-03-08 20:49:40 -05:00
Chris Caron c4b3d1768b Added Stride Support + Testing; refs #6 2018-03-07 19:58:07 -05:00
Chris Caron 16f1c2b78c Emby Support + testing; refs #2 2018-03-06 19:28:35 -05:00
Chris Caron 5b9be6bcc4 Telegram improvements; AppriseAsset refactoring 2018-03-03 17:34:10 -05:00
Chris Caron 87e6eb6cf2 Added Discord Support; refs #4 2018-02-25 20:23:34 -05:00
Chris Caron 602b9bab6f markdown support 2018-02-19 20:59:19 -05:00
Chris Caron a03525a859 100% test coverage 2017-12-25 15:07:41 -05:00
Chris Caron cc79763b3f more unit tests; 90% coverage 2017-12-22 22:57:42 -05:00
Chris Caron f8c3d35f8c more tests 70% coverage now! 2017-12-13 21:35:59 -05:00
Chris Caron 82c5a11e5b more unittesting + bugfixes 2017-12-10 21:28:00 -05:00
Chris Caron 6cca5946e1 NotifyEmail unit tests 2017-12-06 00:35:03 -05:00
Chris Caron 0f6905a2cf added MatterMost unit tests 2017-12-03 22:28:46 -05:00
Chris Caron d767c3a95c added NotifyJSON unittests 2017-12-03 21:53:18 -05:00
Chris Caron a65a8a8373 more refactoring and unittest completion 2017-12-03 15:44:39 -05:00
Chris Caron 9c4502a18b python v3 support + refactored testing and ci 2017-12-03 14:39:29 -05:00
Chris Caron 1311782bed Apprise and AppriseAsset unittesting + bugfixes 2017-11-29 22:24:01 -05:00
Chris Caron 88ea283b95 massive refactoring; pep8 enhancments refs #1 2017-11-28 23:19:22 -05:00
Chris Caron a8f57a8b6e initial commit 2017-11-26 00:02:36 -05:00