From 86d34039a35387e33663f14b30a65cc1165b4fc7 Mon Sep 17 00:00:00 2001 From: morpheus65535 Date: Sat, 11 May 2024 23:22:55 -0400 Subject: [PATCH] Updated apprise to 1.8.0 --- libs/apprise-1.7.6.dist-info/RECORD | 183 ------------------ libs/apprise-1.7.6.dist-info/REQUESTED | 0 .../INSTALLER | 0 .../LICENSE | 0 .../METADATA | 2 +- libs/apprise-1.8.0.dist-info/RECORD | 183 ++++++++++++++++++ .../REQUESTED | 0 .../WHEEL | 0 .../entry_points.txt | 0 .../top_level.txt | 0 libs/apprise/Apprise.py | 14 +- libs/apprise/__init__.py | 23 +-- ...iseAttachment.py => apprise_attachment.py} | 6 +- ...eAttachment.pyi => apprise_attachment.pyi} | 0 .../{AppriseConfig.py => apprise_config.py} | 4 +- .../{AppriseConfig.pyi => apprise_config.pyi} | 0 libs/apprise/{AppriseAsset.py => asset.py} | 2 +- libs/apprise/{AppriseAsset.pyi => asset.pyi} | 0 libs/apprise/attachment/__init__.py | 5 +- .../attachment/{AttachBase.py => base.py} | 9 +- .../attachment/{AttachBase.pyi => base.pyi} | 0 .../attachment/{AttachFile.py => file.py} | 4 +- .../attachment/{AttachHTTP.py => http.py} | 12 +- libs/apprise/config/__init__.py | 5 +- .../apprise/config/{ConfigBase.py => base.py} | 8 +- .../config/{ConfigBase.pyi => base.pyi} | 0 .../apprise/config/{ConfigFile.py => file.py} | 4 +- .../apprise/config/{ConfigHTTP.py => http.py} | 6 +- .../config/{ConfigMemory.py => memory.py} | 4 +- libs/apprise/conversion.py | 2 +- .../{CustomNotifyPlugin.py => base.py} | 7 +- libs/apprise/decorators/notify.py | 2 +- libs/apprise/i18n/en/LC_MESSAGES/apprise.mo | Bin 3959 -> 3959 bytes libs/apprise/{AppriseLocale.py => locale.py} | 0 libs/apprise/manager.py | 83 ++++---- ...chmentManager.py => manager_attachment.py} | 5 + ...figurationManager.py => manager_config.py} | 5 + ...ificationManager.py => manager_plugins.py} | 6 + libs/apprise/plugins/__init__.py | 8 +- .../{NotifyAppriseAPI.py => apprise_api.py} | 8 +- .../plugins/{NotifyAprs.py => aprs.py} | 6 +- .../plugins/{NotifyBark.py => bark.py} | 6 +- .../plugins/{NotifyBase.py => base.py} | 6 +- .../plugins/{NotifyBase.pyi => base.pyi} | 0 .../plugins/{NotifyBoxcar.py => boxcar.py} | 6 +- .../plugins/{NotifyBulkSMS.py => bulksms.py} | 6 +- .../plugins/{NotifyBulkVS.py => bulkvs.py} | 6 +- .../{NotifyBurstSMS.py => burstsms.py} | 6 +- .../{NotifyChantify.py => chantify.py} | 4 +- .../{NotifyClickSend.py => clicksend.py} | 27 ++- .../plugins/{NotifyForm.py => custom_form.py} | 6 +- .../plugins/{NotifyJSON.py => custom_json.py} | 6 +- .../plugins/{NotifyXML.py => custom_xml.py} | 6 +- .../{NotifyD7Networks.py => d7networks.py} | 4 +- .../plugins/{NotifyDapnet.py => dapnet.py} | 6 +- .../plugins/{NotifyDBus.py => dbus.py} | 4 +- .../{NotifyDingTalk.py => dingtalk.py} | 6 +- .../plugins/{NotifyDiscord.py => discord.py} | 6 +- .../plugins/{NotifyEmail.py => email.py} | 16 +- .../plugins/{NotifyEmby.py => emby.py} | 6 +- .../plugins/{NotifyEnigma2.py => enigma2.py} | 6 +- .../plugins/{NotifyFCM => fcm}/__init__.py | 6 +- .../plugins/{NotifyFCM => fcm}/color.py | 2 +- .../plugins/{NotifyFCM => fcm}/common.py | 0 .../plugins/{NotifyFCM => fcm}/oauth.py | 0 .../plugins/{NotifyFCM => fcm}/priority.py | 0 .../plugins/{NotifyFeishu.py => feishu.py} | 4 +- .../plugins/{NotifyFlock.py => flock.py} | 4 +- .../{NotifyFreeMobile.py => freemobile.py} | 5 +- .../plugins/{NotifyGnome.py => gnome.py} | 4 +- .../{NotifyGoogleChat.py => google_chat.py} | 4 +- .../plugins/{NotifyGotify.py => gotify.py} | 4 +- .../plugins/{NotifyGrowl.py => growl.py} | 6 +- .../plugins/{NotifyGuilded.py => guilded.py} | 5 +- ...tifyHomeAssistant.py => home_assistant.py} | 6 +- .../plugins/{NotifyHttpSMS.py => httpsms.py} | 4 +- .../plugins/{NotifyIFTTT.py => ifttt.py} | 4 +- .../plugins/{NotifyJoin.py => join.py} | 4 +- .../{NotifyKavenegar.py => kavenegar.py} | 4 +- .../plugins/{NotifyKumulos.py => kumulos.py} | 4 +- .../{NotifyLametric.py => lametric.py} | 4 +- .../plugins/{NotifyLine.py => line.py} | 6 +- .../plugins/{NotifyLunaSea.py => lunasea.py} | 6 +- .../plugins/{NotifyMacOSX.py => macosx.py} | 4 +- .../plugins/{NotifyMailgun.py => mailgun.py} | 4 +- .../{NotifyMastodon.py => mastodon.py} | 8 +- .../plugins/{NotifyMatrix.py => matrix.py} | 6 +- .../{NotifyMattermost.py => mattermost.py} | 4 +- .../{NotifyMessageBird.py => messagebird.py} | 4 +- .../plugins/{NotifyMisskey.py => misskey.py} | 4 +- .../plugins/{NotifyMQTT.py => mqtt.py} | 6 +- .../plugins/{NotifyMSG91.py => msg91.py} | 4 +- .../plugins/{NotifyMSTeams.py => msteams.py} | 6 +- .../{NotifyNextcloud.py => nextcloud.py} | 6 +- ...otifyNextcloudTalk.py => nextcloudtalk.py} | 6 +- .../plugins/{NotifyNotica.py => notica.py} | 6 +- .../{NotifyNotifiarr.py => notifiarr.py} | 4 +- .../{NotifyNotifico.py => notifico.py} | 4 +- .../plugins/{NotifyNtfy.py => ntfy.py} | 8 +- .../{NotifyOffice365.py => office365.py} | 6 +- .../{NotifyOneSignal.py => one_signal.py} | 4 +- .../{NotifyOpsgenie.py => opsgenie.py} | 4 +- .../{NotifyPagerDuty.py => pagerduty.py} | 6 +- .../{NotifyPagerTree.py => pagertree.py} | 4 +- ...otifyParsePlatform.py => parseplatform.py} | 4 +- ...tifyPopcornNotify.py => popcorn_notify.py} | 4 +- .../plugins/{NotifyProwl.py => prowl.py} | 4 +- .../{NotifyPushBullet.py => pushbullet.py} | 6 +- .../{NotifyPushDeer.py => pushdeer.py} | 4 +- .../plugins/{NotifyPushed.py => pushed.py} | 6 +- .../plugins/{NotifyPushjet.py => pushjet.py} | 6 +- .../plugins/{NotifyPushMe.py => pushme.py} | 4 +- .../{NotifyPushover.py => pushover.py} | 6 +- .../{NotifyPushSafer.py => pushsafer.py} | 4 +- .../plugins/{NotifyPushy.py => pushy.py} | 4 +- .../plugins/{NotifyReddit.py => reddit.py} | 6 +- .../plugins/{NotifyRevolt.py => revolt.py} | 4 +- .../{NotifyRocketChat.py => rocketchat.py} | 6 +- .../plugins/{NotifyRSyslog.py => rsyslog.py} | 4 +- .../plugins/{NotifyRyver.py => ryver.py} | 4 +- .../{NotifySendGrid.py => sendgrid.py} | 4 +- .../{NotifyServerChan.py => serverchan.py} | 4 +- libs/apprise/plugins/{NotifySES.py => ses.py} | 6 +- .../{NotifySignalAPI.py => signal_api.py} | 6 +- .../{NotifySimplePush.py => simplepush.py} | 6 +- .../plugins/{NotifySinch.py => sinch.py} | 6 +- .../plugins/{NotifySlack.py => slack.py} | 4 +- .../{NotifySMSEagle.py => smseagle.py} | 6 +- .../{NotifySMSManager.py => smsmanager.py} | 4 +- .../plugins/{NotifySMTP2Go.py => smtp2go.py} | 4 +- libs/apprise/plugins/{NotifySNS.py => sns.py} | 6 +- .../{NotifySparkPost.py => sparkpost.py} | 4 +- .../{NotifyStreamlabs.py => streamlabs.py} | 4 +- .../{NotifySynology.py => synology.py} | 6 +- .../plugins/{NotifySyslog.py => syslog.py} | 4 +- ...{NotifyTechulusPush.py => techuluspush.py} | 4 +- .../{NotifyTelegram.py => telegram.py} | 6 +- .../plugins/{NotifyThreema.py => threema.py} | 6 +- .../plugins/{NotifyTwilio.py => twilio.py} | 6 +- .../plugins/{NotifyTwist.py => twist.py} | 6 +- .../plugins/{NotifyTwitter.py => twitter.py} | 8 +- .../plugins/{NotifyVoipms.py => voipms.py} | 4 +- .../plugins/{NotifyVonage.py => vonage.py} | 6 +- .../{NotifyWebexTeams.py => webexteams.py} | 4 +- .../{NotifyWeComBot.py => wecombot.py} | 4 +- .../{NotifyWhatsApp.py => whatsapp.py} | 4 +- .../plugins/{NotifyWindows.py => windows.py} | 4 +- .../plugins/{NotifyXBMC.py => xbmc.py} | 6 +- .../plugins/{NotifyZulip.py => zulip.py} | 4 +- libs/apprise/{URLBase.py => url.py} | 9 +- libs/apprise/{URLBase.pyi => url.pyi} | 0 libs/apprise/utils.py | 13 +- libs/version.txt | 2 +- 153 files changed, 616 insertions(+), 569 deletions(-) delete mode 100644 libs/apprise-1.7.6.dist-info/RECORD delete mode 100644 libs/apprise-1.7.6.dist-info/REQUESTED rename libs/{apprise-1.7.6.dist-info => apprise-1.8.0.dist-info}/INSTALLER (100%) rename libs/{apprise-1.7.6.dist-info => apprise-1.8.0.dist-info}/LICENSE (100%) rename libs/{apprise-1.7.6.dist-info => apprise-1.8.0.dist-info}/METADATA (99%) create mode 100644 libs/apprise-1.8.0.dist-info/RECORD rename libs/{apprise-1.7.4.dist-info => apprise-1.8.0.dist-info}/REQUESTED (100%) rename libs/{apprise-1.7.6.dist-info => apprise-1.8.0.dist-info}/WHEEL (100%) rename libs/{apprise-1.7.6.dist-info => apprise-1.8.0.dist-info}/entry_points.txt (100%) rename libs/{apprise-1.7.6.dist-info => apprise-1.8.0.dist-info}/top_level.txt (100%) rename libs/apprise/{AppriseAttachment.py => apprise_attachment.py} (98%) rename libs/apprise/{AppriseAttachment.pyi => apprise_attachment.pyi} (100%) rename libs/apprise/{AppriseConfig.py => apprise_config.py} (99%) rename libs/apprise/{AppriseConfig.pyi => apprise_config.pyi} (100%) rename libs/apprise/{AppriseAsset.py => asset.py} (99%) rename libs/apprise/{AppriseAsset.pyi => asset.pyi} (100%) rename libs/apprise/attachment/{AttachBase.py => base.py} (98%) rename libs/apprise/attachment/{AttachBase.pyi => base.pyi} (100%) rename libs/apprise/attachment/{AttachFile.py => file.py} (98%) rename libs/apprise/attachment/{AttachHTTP.py => http.py} (98%) rename libs/apprise/config/{ConfigBase.py => base.py} (99%) rename libs/apprise/config/{ConfigBase.pyi => base.pyi} (100%) rename libs/apprise/config/{ConfigFile.py => file.py} (98%) rename libs/apprise/config/{ConfigHTTP.py => http.py} (98%) rename libs/apprise/config/{ConfigMemory.py => memory.py} (97%) rename libs/apprise/decorators/{CustomNotifyPlugin.py => base.py} (98%) rename libs/apprise/{AppriseLocale.py => locale.py} (100%) rename libs/apprise/{AttachmentManager.py => manager_attachment.py} (93%) rename libs/apprise/{ConfigurationManager.py => manager_config.py} (93%) rename libs/apprise/{NotificationManager.py => manager_plugins.py} (92%) rename libs/apprise/plugins/{NotifyAppriseAPI.py => apprise_api.py} (99%) rename libs/apprise/plugins/{NotifyAprs.py => aprs.py} (99%) rename libs/apprise/plugins/{NotifyBark.py => bark.py} (99%) rename libs/apprise/plugins/{NotifyBase.py => base.py} (99%) rename libs/apprise/plugins/{NotifyBase.pyi => base.pyi} (100%) rename libs/apprise/plugins/{NotifyBoxcar.py => boxcar.py} (99%) rename libs/apprise/plugins/{NotifyBulkSMS.py => bulksms.py} (99%) rename libs/apprise/plugins/{NotifyBulkVS.py => bulkvs.py} (99%) rename libs/apprise/plugins/{NotifyBurstSMS.py => burstsms.py} (99%) rename libs/apprise/plugins/{NotifyChantify.py => chantify.py} (98%) rename libs/apprise/plugins/{NotifyClickSend.py => clicksend.py} (94%) rename libs/apprise/plugins/{NotifyForm.py => custom_form.py} (99%) rename libs/apprise/plugins/{NotifyJSON.py => custom_json.py} (99%) rename libs/apprise/plugins/{NotifyXML.py => custom_xml.py} (99%) rename libs/apprise/plugins/{NotifyD7Networks.py => d7networks.py} (99%) rename libs/apprise/plugins/{NotifyDapnet.py => dapnet.py} (99%) rename libs/apprise/plugins/{NotifyDBus.py => dbus.py} (99%) rename libs/apprise/plugins/{NotifyDingTalk.py => dingtalk.py} (99%) rename libs/apprise/plugins/{NotifyDiscord.py => discord.py} (99%) rename libs/apprise/plugins/{NotifyEmail.py => email.py} (98%) rename libs/apprise/plugins/{NotifyEmby.py => emby.py} (99%) rename libs/apprise/plugins/{NotifyEnigma2.py => enigma2.py} (98%) rename libs/apprise/plugins/{NotifyFCM => fcm}/__init__.py (99%) rename libs/apprise/plugins/{NotifyFCM => fcm}/color.py (99%) rename libs/apprise/plugins/{NotifyFCM => fcm}/common.py (100%) rename libs/apprise/plugins/{NotifyFCM => fcm}/oauth.py (100%) rename libs/apprise/plugins/{NotifyFCM => fcm}/priority.py (100%) rename libs/apprise/plugins/{NotifyFeishu.py => feishu.py} (98%) rename libs/apprise/plugins/{NotifyFlock.py => flock.py} (99%) rename libs/apprise/plugins/{NotifyFreeMobile.py => freemobile.py} (98%) rename libs/apprise/plugins/{NotifyGnome.py => gnome.py} (99%) rename libs/apprise/plugins/{NotifyGoogleChat.py => google_chat.py} (99%) rename libs/apprise/plugins/{NotifyGotify.py => gotify.py} (99%) rename libs/apprise/plugins/{NotifyGrowl.py => growl.py} (99%) rename libs/apprise/plugins/{NotifyGuilded.py => guilded.py} (96%) rename libs/apprise/plugins/{NotifyHomeAssistant.py => home_assistant.py} (98%) rename libs/apprise/plugins/{NotifyHttpSMS.py => httpsms.py} (99%) rename libs/apprise/plugins/{NotifyIFTTT.py => ifttt.py} (99%) rename libs/apprise/plugins/{NotifyJoin.py => join.py} (99%) rename libs/apprise/plugins/{NotifyKavenegar.py => kavenegar.py} (99%) rename libs/apprise/plugins/{NotifyKumulos.py => kumulos.py} (99%) rename libs/apprise/plugins/{NotifyLametric.py => lametric.py} (99%) rename libs/apprise/plugins/{NotifyLine.py => line.py} (98%) rename libs/apprise/plugins/{NotifyLunaSea.py => lunasea.py} (99%) rename libs/apprise/plugins/{NotifyMacOSX.py => macosx.py} (99%) rename libs/apprise/plugins/{NotifyMailgun.py => mailgun.py} (99%) rename libs/apprise/plugins/{NotifyMastodon.py => mastodon.py} (99%) rename libs/apprise/plugins/{NotifyMatrix.py => matrix.py} (99%) rename libs/apprise/plugins/{NotifyMattermost.py => mattermost.py} (99%) rename libs/apprise/plugins/{NotifyMessageBird.py => messagebird.py} (99%) rename libs/apprise/plugins/{NotifyMisskey.py => misskey.py} (99%) rename libs/apprise/plugins/{NotifyMQTT.py => mqtt.py} (99%) rename libs/apprise/plugins/{NotifyMSG91.py => msg91.py} (99%) rename libs/apprise/plugins/{NotifyMSTeams.py => msteams.py} (99%) rename libs/apprise/plugins/{NotifyNextcloud.py => nextcloud.py} (99%) rename libs/apprise/plugins/{NotifyNextcloudTalk.py => nextcloudtalk.py} (98%) rename libs/apprise/plugins/{NotifyNotica.py => notica.py} (99%) rename libs/apprise/plugins/{NotifyNotifiarr.py => notifiarr.py} (99%) rename libs/apprise/plugins/{NotifyNotifico.py => notifico.py} (99%) rename libs/apprise/plugins/{NotifyNtfy.py => ntfy.py} (99%) rename libs/apprise/plugins/{NotifyOffice365.py => office365.py} (99%) rename libs/apprise/plugins/{NotifyOneSignal.py => one_signal.py} (99%) rename libs/apprise/plugins/{NotifyOpsgenie.py => opsgenie.py} (99%) rename libs/apprise/plugins/{NotifyPagerDuty.py => pagerduty.py} (99%) rename libs/apprise/plugins/{NotifyPagerTree.py => pagertree.py} (99%) rename libs/apprise/plugins/{NotifyParsePlatform.py => parseplatform.py} (99%) rename libs/apprise/plugins/{NotifyPopcornNotify.py => popcorn_notify.py} (99%) rename libs/apprise/plugins/{NotifyProwl.py => prowl.py} (99%) rename libs/apprise/plugins/{NotifyPushBullet.py => pushbullet.py} (99%) rename libs/apprise/plugins/{NotifyPushDeer.py => pushdeer.py} (98%) rename libs/apprise/plugins/{NotifyPushed.py => pushed.py} (99%) rename libs/apprise/plugins/{NotifyPushjet.py => pushjet.py} (98%) rename libs/apprise/plugins/{NotifyPushMe.py => pushme.py} (98%) rename libs/apprise/plugins/{NotifyPushover.py => pushover.py} (99%) rename libs/apprise/plugins/{NotifyPushSafer.py => pushsafer.py} (99%) rename libs/apprise/plugins/{NotifyPushy.py => pushy.py} (99%) rename libs/apprise/plugins/{NotifyReddit.py => reddit.py} (99%) rename libs/apprise/plugins/{NotifyRevolt.py => revolt.py} (99%) rename libs/apprise/plugins/{NotifyRocketChat.py => rocketchat.py} (99%) rename libs/apprise/plugins/{NotifyRSyslog.py => rsyslog.py} (99%) rename libs/apprise/plugins/{NotifyRyver.py => ryver.py} (99%) rename libs/apprise/plugins/{NotifySendGrid.py => sendgrid.py} (99%) rename libs/apprise/plugins/{NotifyServerChan.py => serverchan.py} (98%) rename libs/apprise/plugins/{NotifySES.py => ses.py} (99%) rename libs/apprise/plugins/{NotifySignalAPI.py => signal_api.py} (99%) rename libs/apprise/plugins/{NotifySimplePush.py => simplepush.py} (98%) rename libs/apprise/plugins/{NotifySinch.py => sinch.py} (99%) rename libs/apprise/plugins/{NotifySlack.py => slack.py} (99%) rename libs/apprise/plugins/{NotifySMSEagle.py => smseagle.py} (99%) rename libs/apprise/plugins/{NotifySMSManager.py => smsmanager.py} (99%) rename libs/apprise/plugins/{NotifySMTP2Go.py => smtp2go.py} (99%) rename libs/apprise/plugins/{NotifySNS.py => sns.py} (99%) rename libs/apprise/plugins/{NotifySparkPost.py => sparkpost.py} (99%) rename libs/apprise/plugins/{NotifyStreamlabs.py => streamlabs.py} (99%) rename libs/apprise/plugins/{NotifySynology.py => synology.py} (98%) rename libs/apprise/plugins/{NotifySyslog.py => syslog.py} (99%) rename libs/apprise/plugins/{NotifyTechulusPush.py => techuluspush.py} (98%) rename libs/apprise/plugins/{NotifyTelegram.py => telegram.py} (99%) rename libs/apprise/plugins/{NotifyThreema.py => threema.py} (99%) rename libs/apprise/plugins/{NotifyTwilio.py => twilio.py} (99%) rename libs/apprise/plugins/{NotifyTwist.py => twist.py} (99%) rename libs/apprise/plugins/{NotifyTwitter.py => twitter.py} (99%) rename libs/apprise/plugins/{NotifyVoipms.py => voipms.py} (99%) rename libs/apprise/plugins/{NotifyVonage.py => vonage.py} (99%) rename libs/apprise/plugins/{NotifyWebexTeams.py => webexteams.py} (99%) rename libs/apprise/plugins/{NotifyWeComBot.py => wecombot.py} (99%) rename libs/apprise/plugins/{NotifyWhatsApp.py => whatsapp.py} (99%) rename libs/apprise/plugins/{NotifyWindows.py => windows.py} (99%) rename libs/apprise/plugins/{NotifyXBMC.py => xbmc.py} (99%) rename libs/apprise/plugins/{NotifyZulip.py => zulip.py} (99%) rename libs/apprise/{URLBase.py => url.py} (99%) rename libs/apprise/{URLBase.pyi => url.pyi} (100%) diff --git a/libs/apprise-1.7.6.dist-info/RECORD b/libs/apprise-1.7.6.dist-info/RECORD deleted file mode 100644 index 250648105..000000000 --- a/libs/apprise-1.7.6.dist-info/RECORD +++ /dev/null @@ -1,183 +0,0 @@ -../../bin/apprise,sha256=ZJ-e4qqxNLtdW_DAvpuPPX5iROIiQd8I6nvg7vtAv-g,233 -apprise-1.7.6.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -apprise-1.7.6.dist-info/LICENSE,sha256=gt7qKBxRhVcdmXCYVtrWP6DtYjD0DzONet600dkU994,1343 -apprise-1.7.6.dist-info/METADATA,sha256=z_gaX2IdNJqw4T9q7AYQri9jcIs-OTGCo3t2EgEY-mw,44823 -apprise-1.7.6.dist-info/RECORD,, -apprise-1.7.6.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -apprise-1.7.6.dist-info/WHEEL,sha256=Xo9-1PvkuimrydujYJAjF7pCkriuXBpUPEjma1nZyJ0,92 -apprise-1.7.6.dist-info/entry_points.txt,sha256=71YypBuNdjAKiaLsiMG40HEfLHxkU4Mi7o_S0s0d8wI,45 -apprise-1.7.6.dist-info/top_level.txt,sha256=JrCRn-_rXw5LMKXkIgMSE4E0t1Ks9TYrBH54Pflwjkk,8 -apprise/Apprise.py,sha256=Stm2NhJprWRaMwQfTiIQG_nR1bLpHi_zcdwEcsCpa-A,32865 -apprise/Apprise.pyi,sha256=_4TBKvT-QVj3s6PuTh3YX-BbQMeJTdBGdVpubLMY4_k,2203 -apprise/AppriseAsset.py,sha256=jRW8Y1EcAvjVA9h_mINmsjO4DM3S0aDl6INIFVMcUCs,11647 -apprise/AppriseAsset.pyi,sha256=NYLXXYbScgRkspP27XGpRRM_uliPu1OCdWdZBPPvLng,979 -apprise/AppriseAttachment.py,sha256=vhrktSrp8GLr32aK4KqV6BX83IpI1lxZe-pGo1wiSFM,12540 -apprise/AppriseAttachment.pyi,sha256=R9-0dVqWpeaFrVpcREwPhGy3qHWztG5jEjYIOsbE5dM,1145 -apprise/AppriseConfig.py,sha256=wfuR6Mb3ZLHvjvqWdFp9lVmjjDRWs65unY9qa92RkCg,16909 -apprise/AppriseConfig.pyi,sha256=_mUlCnncqAq8sL01WxQTgZjnb2ic9kZXvtqZmVl-fc8,1568 -apprise/AppriseLocale.py,sha256=4uSr4Nj_rz6ISMMAfRVRk58wZVLKOofJgk2x0_E8NkQ,8994 -apprise/AttachmentManager.py,sha256=EwlnjuKn3fv_pioWcmMCkyDTsO178t6vkEOD8AjAPsw,2053 -apprise/ConfigurationManager.py,sha256=MUmGajxjgnr6FGN7xb3q0nD0VVgdTdvapBBR7CsI-rc,2058 -apprise/NotificationManager.py,sha256=ZJgkiCgcJ7Bz_6bwQ47flrcxvLMbA4Vbw0HG_yTsGdE,2041 -apprise/URLBase.py,sha256=xRP0-blocp9UudYh04Hb3fIEmTZWJaTv_tzjrqaB9fg,29423 -apprise/URLBase.pyi,sha256=WLaRREH7FzZ5x3-qkDkupojWGFC4uFwJ1EDt02lVs8c,520 -apprise/__init__.py,sha256=ArtvoarAMnBcSfXF7L_hzq5CUJ9TUnHopiC7xafCe3c,3368 -apprise/assets/NotifyXML-1.0.xsd,sha256=292qQ_IUl5EWDhPyzm9UTT0C2rVvJkyGar8jiODkJs8,986 -apprise/assets/NotifyXML-1.1.xsd,sha256=bjR3CGG4AEXoJjYkGCbDttKHSkPP1FlIWO02E7G59g4,1758 -apprise/assets/themes/default/apprise-failure-128x128.ico,sha256=Mt0ptfHJaN3Wsv5UCNDn9_3lyEDHxVDv1JdaDEI_xCA,67646 -apprise/assets/themes/default/apprise-failure-128x128.png,sha256=66ps8TDPxVH3g9PlObJqF-0x952CjnqQyN3zvpRcOT8,16135 -apprise/assets/themes/default/apprise-failure-256x256.png,sha256=bQBsKKCsKfR9EqgYOZrcVcVa5y8qG58PN2mEqO5eNRI,41931 -apprise/assets/themes/default/apprise-failure-32x32.png,sha256=vH0pZffIDCvkejpr3fJHGXW__8Yc3R_p0bacX6t6l18,2437 -apprise/assets/themes/default/apprise-failure-72x72.png,sha256=EP5A8DHRDr9srgupFSwOoyQ308bNJ8aL192J_L4K-ec,7600 -apprise/assets/themes/default/apprise-info-128x128.ico,sha256=F5_CirmXueRCRI5Z_Crf6TS6jVIXTJlRD83zw1oJ66g,67646 -apprise/assets/themes/default/apprise-info-128x128.png,sha256=bBqRZAgQey-gkmJrnFhPbzjILSrljE59mRkgj3raMQo,16671 -apprise/assets/themes/default/apprise-info-256x256.png,sha256=B5r_O4d9MHCmSWZwfbqQgZSp-ZetTdiBSwKcMTF1aFA,43331 -apprise/assets/themes/default/apprise-info-32x32.png,sha256=lt3NZ95TzkiCNVNlurrB2fE2nriMa1wftl7nrNXmb6c,2485 -apprise/assets/themes/default/apprise-info-72x72.png,sha256=kDnsZpqNUZGqs9t1ECUup7FOfXUIL-rupnQCYJp9So4,7875 -apprise/assets/themes/default/apprise-logo.png,sha256=85ttALudKkLmiqilJT7mUQLUXRFmM1AK89rnwLm313s,160907 -apprise/assets/themes/default/apprise-success-128x128.ico,sha256=uCopPwdQjxgfohKazHaDzYs9y4oiaOpL048PYC6WRlg,67646 -apprise/assets/themes/default/apprise-success-128x128.png,sha256=nvDuU_QqhGlw6cMtdj7Mv-gPgqCEx-0DaaXn1KBLVYg,17446 -apprise/assets/themes/default/apprise-success-256x256.png,sha256=vXfKuxY3n0eeXHKdb9hTxICxOEn7HjAQ4IZpX0HSLzc,48729 -apprise/assets/themes/default/apprise-success-32x32.png,sha256=Jg9pFJh3YPI-LiPBebyJ7Z4Vt7BRecaE8AsRjQVIkME,2471 -apprise/assets/themes/default/apprise-success-72x72.png,sha256=FQbgvIhqKOhEK0yvrhaSpai0R7hrkTt_-GaC2KUgCCk,7858 -apprise/assets/themes/default/apprise-warning-128x128.ico,sha256=6XaQPOx0oWK_xbhr4Yhb7qNazCWwSs9lk2SYR2MHTrQ,67646 -apprise/assets/themes/default/apprise-warning-128x128.png,sha256=pf5c4Ph7jWH7gf39dJoieSj8TzAsY3TXI-sGISGVIW4,16784 -apprise/assets/themes/default/apprise-warning-256x256.png,sha256=SY-xlaiXaj420iEYKC2_fJxU-yj2SuaQg6xfPNi83bw,43708 -apprise/assets/themes/default/apprise-warning-32x32.png,sha256=97R2ywNvcwczhBoWEIgajVtWjgT8fLs4FCCz4wu0dwc,2472 -apprise/assets/themes/default/apprise-warning-72x72.png,sha256=L8moEInkO_OLxoOcuvN7rmrGZo64iJeH20o-24MQghE,7913 -apprise/attachment/AttachBase.py,sha256=T3WreGrTsqqGplXJO36jm-N14X7ymSc9xt7XdTYuXVE,13656 -apprise/attachment/AttachBase.pyi,sha256=w0XG_QKauiMLJ7eQ4S57IiLIURZHm_Snw7l6-ih9GP8,961 -apprise/attachment/AttachFile.py,sha256=MbHY_av0GeM_AIBKV02Hq7SHiZ9eCr1yTfvDMUgi2I4,4765 -apprise/attachment/AttachHTTP.py,sha256=_CMPp4QGLATfGO2-Nw57sxsQyed9z3ywgoB0vpK3KZk,13779 -apprise/attachment/__init__.py,sha256=xabgXpvV05X-YRuqIt3uGYMXwYNXjHyF6Dwd8HfZCFE,1658 -apprise/cli.py,sha256=h-pWSQPqQficH6J-OEp3MTGydWyt6vMYnDZvHCeAt4Y,20697 -apprise/common.py,sha256=I6wfrndggCL7l7KAl7Cm4uwAX9n0l3SN4-BVvTE0L0M,5593 -apprise/common.pyi,sha256=luF3QRiClDCk8Z23rI6FCGYsVmodOt_JYfYyzGogdNM,447 -apprise/config/ConfigBase.py,sha256=d1efIuQFCJr66WgpudV2DWtxY3-tuZAyMAhHXBzJ8p0,53194 -apprise/config/ConfigBase.pyi,sha256=cngfobwH6v2vxYbQrObDi5Z-t5wcquWF-wR0kBCr3Eg,54 -apprise/config/ConfigFile.py,sha256=u_SDaN3OHMyaAq2X7k_T4_PRKkVsDwleqBz9YIN5lbA,6138 -apprise/config/ConfigHTTP.py,sha256=Iy6Ji8_nX3xDjFgJGLrz4ftrMlMiyKiFGzYGJ7rMSMQ,9457 -apprise/config/ConfigMemory.py,sha256=epEAgNy-eJVWoQaUOvjivMWxXTofy6wAQ-NbCqYmuyE,2829 -apprise/config/__init__.py,sha256=lbsxrUpB1IYM2q7kjYhsXQGgPF-yZXJrKFE361tdIPY,1663 -apprise/conversion.py,sha256=0VZ0eCZfksN-97Vl0TjVjwnCTgus3XTRioceSFnP-gc,6277 -apprise/decorators/CustomNotifyPlugin.py,sha256=i4D-sgOsBWsxO5auWCN2bgXLLPuADaaLlJ1gUKLj2bU,7972 -apprise/decorators/__init__.py,sha256=e_PDAm0kQNzwDPx-NJZLPfLMd2VAABvNZtxx_iDviRM,1487 -apprise/decorators/notify.py,sha256=a2WupErNw1_SMAld7jPC273bskiChMpYy95BOog5A9w,5111 -apprise/emojis.py,sha256=ONF0t8dY9f2XlEkLUG79-ybKVAj2GqbPj2-Be97vAoI,87738 -apprise/i18n/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -apprise/i18n/en/LC_MESSAGES/apprise.mo,sha256=oUTuHREmLEYN07oqYqRMJ_kU71-o5o37NsF4RXlC5AU,3959 -apprise/logger.py,sha256=131hqhed8cUj9x_mfXDEvwA2YbcYDFAYiWVK1HgxRVY,6921 -apprise/manager.py,sha256=R9w8jxQRNy6Z_XDcobkt4JYbrC4jtj2OwRw9Zrib3CA,26857 -apprise/plugins/NotifyAppriseAPI.py,sha256=ISBE0brD3eQdyw3XrGXd4Uc4kSYvIuI3SSUVCt-bkdo,16654 -apprise/plugins/NotifyAprs.py,sha256=xdL_aIVgb4ggxRFeCdkZAbgHYZ8DWLw9pRpLZQ0rHoE,25523 -apprise/plugins/NotifyBark.py,sha256=bsDvKooRy4k1Gg7tvBjv3DIx7-WZiV_mbTrkTwMtd9Q,15698 -apprise/plugins/NotifyBase.py,sha256=G3xkF_a2BWqNSxsrnOW7NUgHjOqBCYC5zihCifWemo8,30360 -apprise/plugins/NotifyBase.pyi,sha256=aKlZXRYUgG8lz_ZgGkYYJ_GKhuf18youTmMU-FlG7z8,21 -apprise/plugins/NotifyBoxcar.py,sha256=vR00-WggHa1nHYWyb-f5P2V-G4f683fU_-GBlIeJvD0,12867 -apprise/plugins/NotifyBulkSMS.py,sha256=stPWAFCfhBP617zYK9Dgk6pNJBN_WcyJtODzo0jR1QQ,16005 -apprise/plugins/NotifyBulkVS.py,sha256=viLGeyUDiirRRM7CgRqqElHSLYFnMugDtWE6Ytjqfaw,13290 -apprise/plugins/NotifyBurstSMS.py,sha256=cN2kRETKIK5LhwpQEA8C68LKv8KEUPmXYe-nTSegGls,15550 -apprise/plugins/NotifyChantify.py,sha256=GJJOAtSnVoIfKbJF_W1DTu7WsvS_zHdjO4T1XTKT87g,6673 -apprise/plugins/NotifyClickSend.py,sha256=UfOJqsas6WLjQskojuJE7I_-lrb5QrkMiBZv-po_Q9c,11229 -apprise/plugins/NotifyD7Networks.py,sha256=4E6Fh0kQoDlMMwgZJDOXky7c7KrdMMvqprcfm29scWU,15043 -apprise/plugins/NotifyDBus.py,sha256=1eVJHIL3XkFjDePMqfcll35Ie1vxggJ1iBsVFAIaF00,14379 -apprise/plugins/NotifyDapnet.py,sha256=KuXjBU0ZrIYtoDei85NeLZ-IP810T4w5oFXH9sWiSh0,13624 -apprise/plugins/NotifyDingTalk.py,sha256=NJyETgN6QjtRqtxQjfBLFVuFpURyWykRftm6WpQJVbY,12009 -apprise/plugins/NotifyDiscord.py,sha256=M_qmTzB7NNL5_agjYDX38KBN1jRzDBp2EMSNwEF_9Tw,26072 -apprise/plugins/NotifyEmail.py,sha256=Y_ZOrdK6hTUKHLvogKpV5VqD8byzDyDSvwIVmfdsC2g,39789 -apprise/plugins/NotifyEmby.py,sha256=OMVO8XsVl_XCBYNNNQi8ni2lS4voLfU8Puk1xJOAvHs,24039 -apprise/plugins/NotifyEnigma2.py,sha256=Hj0Q9YOeljSwbfiuMKLqXTVX_1g_mjNUGEts7wfrwno,11498 -apprise/plugins/NotifyFCM/__init__.py,sha256=mBFtIgIJuLIFnMB5ndx5Makjs9orVMc2oLoD7LaVT48,21669 -apprise/plugins/NotifyFCM/color.py,sha256=8iqDtadloQh2TMxkFmIFwenHqKp1pHHn1bwyWOzZ6TY,4592 -apprise/plugins/NotifyFCM/common.py,sha256=978uBUoNdtopCtylipGiKQdsQ8FTONxkFBp7uJMZHc8,1718 -apprise/plugins/NotifyFCM/oauth.py,sha256=Vvbd0-rd5BPIjAneG3rILU153JIzfSZ0kaDov6hm96M,11197 -apprise/plugins/NotifyFCM/priority.py,sha256=0WuRW1y1HVnybgjlTeCZPHzt7j8SwWnC7faNcjioAOc,8163 -apprise/plugins/NotifyFeishu.py,sha256=IpcABdLZJ1vcQdZHlmASVbNOiOCIrmgKFhz1hbdskY4,7266 -apprise/plugins/NotifyFlock.py,sha256=0rUIa9nToGsO8BTUgixh8Z_qdVixJeH479UNYjcE4EM,12748 -apprise/plugins/NotifyForm.py,sha256=38nL-2m1cf4gEQFQ4NpvA4j9i5_nNUgelReWFSjyV5U,17905 -apprise/plugins/NotifyFreeMobile.py,sha256=XCkgZLc3KKGlx_9UdeoMJVcHpeQrOml9T93S-DGf4bs,6644 -apprise/plugins/NotifyGnome.py,sha256=8MXTa8gZg1wTgNJfLlmq7_fl3WaYK-SX6VR91u308C4,9059 -apprise/plugins/NotifyGoogleChat.py,sha256=lnoN17m6lZANaXcElDTP8lcuVWjIZEK8C6_iqJNAnw4,12622 -apprise/plugins/NotifyGotify.py,sha256=DNlOIHyuYitO5use9oa_REPm2Fant7y9QSaatrZFNI0,10551 -apprise/plugins/NotifyGrowl.py,sha256=M6ViUz967VhEHtXrE7lbCKF3aB4pIXNEzJLjjGAmvhM,14023 -apprise/plugins/NotifyGuilded.py,sha256=eCMCoFFuE0XNY8HlLM21zoxgBNgqEKQ8dwYj8LihfRU,3641 -apprise/plugins/NotifyHomeAssistant.py,sha256=zqWu7TtdXhTbGNuflC8WfydbHsCLiEBw4uBUcF7YZtw,10739 -apprise/plugins/NotifyHttpSMS.py,sha256=pDEUHCCB18IhOgDcVK3_FFDJdAcrdTIfPzj0jNnZZBo,11136 -apprise/plugins/NotifyIFTTT.py,sha256=oMvTQ0bEu2eJQgw9BwxAwTNOtbZ_ER-zleJvWpWTj7w,13425 -apprise/plugins/NotifyJSON.py,sha256=70ctjmArGzuvM1gHNt1bCiQVWE7Fp9vd2nWhSXwFvw0,13851 -apprise/plugins/NotifyJoin.py,sha256=B8FHp7cblZBkxTgfrka6mNnf6oQVBXVuGISgSau00z0,13581 -apprise/plugins/NotifyKavenegar.py,sha256=F5xTUdebM1lK6yGFbZJQB9Zgw2LTI0angeA-3Nu-89w,12620 -apprise/plugins/NotifyKumulos.py,sha256=eCEW2ZverZqETOLHVWMC4E8Ll6rEhhEWOSD73RD80SM,8214 -apprise/plugins/NotifyLametric.py,sha256=h8vZoX-Ll5NBZRprBlxTO2H9w0lOiMxglGvUgJtK4_8,37534 -apprise/plugins/NotifyLine.py,sha256=OVI0ozMJcq_-dI8dodVX52dzUzgENlAbOik-Kw4l-rI,10676 -apprise/plugins/NotifyLunaSea.py,sha256=woN8XdkwAjhgxAXp7Zj4XsWLybNL80l4W3Dx5BvobZg,14459 -apprise/plugins/NotifyMQTT.py,sha256=cnuG4f3bYYNPhEj9qDX8SLmnxLVT9G1b8J5w6-mQGKY,19545 -apprise/plugins/NotifyMSG91.py,sha256=P7JPyT1xmucnaEeCZPf_6aJfe1gS_STYYwEM7hJ7QBw,12677 -apprise/plugins/NotifyMSTeams.py,sha256=dFH575hoLL3zRddbBKfozlYjxvPJGbj3BKvfJSIkvD0,22976 -apprise/plugins/NotifyMacOSX.py,sha256=y2fGpSZXomFiNwKbWImrXQUMVM4JR4uPCnsWpnxQrFA,8271 -apprise/plugins/NotifyMailgun.py,sha256=FNS_QLOQWMo62yVO-mMZkpiXudUtSdbHOjfSrLC4oIo,25409 -apprise/plugins/NotifyMastodon.py,sha256=2ovjQIOOITHH8lOinC8QCFCJN2QA8foIM2pjdknbblc,35277 -apprise/plugins/NotifyMatrix.py,sha256=I8kdaZUZS-drew0JExBbChQVe7Ib4EwAjQd0xE30XT0,50049 -apprise/plugins/NotifyMattermost.py,sha256=JgEc-wC-43FBMItezDJ62zv1Nc9ROFjDiwD_8bt8rgM,12722 -apprise/plugins/NotifyMessageBird.py,sha256=EUPwhs1PHiPZpluIrLiNKQMUPcdlKnx1sdnllCtN_Ns,12248 -apprise/plugins/NotifyMisskey.py,sha256=zYZkBKv0p3jJpm_HLDBugUgKeGb0qpLoPqy0ffwwxVg,9600 -apprise/plugins/NotifyNextcloud.py,sha256=M3EyvUzBMHbTKU3gxW_7fPA6vmQUF5x8GTMZQ78sWCA,12759 -apprise/plugins/NotifyNextcloudTalk.py,sha256=dLl_g7Knq5PVcadbzDuQsxbGHTZlC4r-pQC8wzYnmAo,11011 -apprise/plugins/NotifyNotica.py,sha256=yHmk8HiNFjzoI4Gewo_nBRrx9liEmhT95k1d10wqhYg,12990 -apprise/plugins/NotifyNotifiarr.py,sha256=ADwLJO9eenfLkNa09tXMGSBTM4c3zTY0SEePvyB8WYA,15857 -apprise/plugins/NotifyNotifico.py,sha256=Qe9jMN_M3GL4XlYIWkAf-w_Hf65g9Hde4bVuytGhUW4,12035 -apprise/plugins/NotifyNtfy.py,sha256=AtJt2zH35mMQTwRDxKia93NPy6-4rtixplP53zIYV2M,27979 -apprise/plugins/NotifyOffice365.py,sha256=8TxsVsdbUghmNj0kceMlmoZzTOKQTgn3priI8JuRuHE,25190 -apprise/plugins/NotifyOneSignal.py,sha256=gsw7ckW7xLiJDRUb7eJHNe_4bvdBXmt6_YsB1u_ghjw,18153 -apprise/plugins/NotifyOpsgenie.py,sha256=zJWpknjoHq35Iv9w88ucR62odaeIN3nrGFPtYnhDdjA,20515 -apprise/plugins/NotifyPagerDuty.py,sha256=lu6oNdygrs6UezYm6xgiQxQDeDz8EVUtfP-xsArRvyw,17874 -apprise/plugins/NotifyPagerTree.py,sha256=mPl6ejdelNlWUWGVs46kZT0VV4uFZoeCdcv4VJ_f_XQ,13849 -apprise/plugins/NotifyParsePlatform.py,sha256=6oFOTpu-HMhesaYXRBvu5oaESYlFrKBNYTHE-ItCBRk,10291 -apprise/plugins/NotifyPopcornNotify.py,sha256=kRstzG0tWBdxSRfn2RN2J7FhvIj2qYWlwUyLxxZCbPc,10587 -apprise/plugins/NotifyProwl.py,sha256=EGOdmiZq8CFbjxTtWWKLQEdYiSvr4czZfE_8aCMEokw,9782 -apprise/plugins/NotifyPushBullet.py,sha256=JVd2GQH-DWmPaKjuGBpsE6DXNCcZEUDH7tA5zbM1qEU,15372 -apprise/plugins/NotifyPushDeer.py,sha256=cG1UFG06PfzbmI1RxtrMqmfaHK_Ojk_W-QMEdtkEuUI,6922 -apprise/plugins/NotifyPushMe.py,sha256=ioRzeXbd2X5miTd3h3m7AwCqkIIfbXNm4PjYk0OOXZ0,7134 -apprise/plugins/NotifyPushSafer.py,sha256=hIcYHwUZapmC-VDvaO_UkDY9RSPTxHgF7m2FL-6JBZw,26756 -apprise/plugins/NotifyPushed.py,sha256=NqLMXD9gvihXLfLUtCcMfz5oUAhPM7sKXECqKgD0v-U,12270 -apprise/plugins/NotifyPushjet.py,sha256=8qWpIqM4dKWjO-BjOrRJXZYtvtJBt_mikdBWRxfibnE,8952 -apprise/plugins/NotifyPushover.py,sha256=MJDquV4zl1cNrGZOC55hLlt6lOb6625WeUcgS5ceCbk,21213 -apprise/plugins/NotifyPushy.py,sha256=mmWcnu905Fvc8ihYXvZ7lVYErGZH5Q-GbBNS20v5r48,12496 -apprise/plugins/NotifyRSyslog.py,sha256=W42LT90X65-pNoU7KdhdX1PBcmsz9RyV376CDa_H3CI,11982 -apprise/plugins/NotifyReddit.py,sha256=E78OSyDQfUalBEcg71sdMsNBOwdj7cVBnELrhrZEAXY,25785 -apprise/plugins/NotifyRevolt.py,sha256=DRA9Xylwl6leVjVFuJcP4L1cG49CIBtnQdxh4BKnAZ4,14500 -apprise/plugins/NotifyRocketChat.py,sha256=Cb_nasX0-G3FoPMYvNk55RJ-tHuXUCTLUn2wTSi4IcI,25738 -apprise/plugins/NotifyRyver.py,sha256=yhHPMLGeJtcHwBKSPPk0OBfp59DgTvXio1R59JhrJu4,11823 -apprise/plugins/NotifySES.py,sha256=wtRmpAZkS5mQma6sdiaPT6U1xcgoj77CB9mNFvSEAw8,33545 -apprise/plugins/NotifySMSEagle.py,sha256=voFNqOewD9OC1eRctD0YdUB_ZSWsb06rjUwBfCcxPYA,24161 -apprise/plugins/NotifySMSManager.py,sha256=DbVc35qLfYkNL7eq43_rPD6k-PELL9apf3S09S6qvDA,14125 -apprise/plugins/NotifySMTP2Go.py,sha256=foQ7aMMmNc5Oree8YwrxZJgMnF6yVMFAfqShm_nLbx0,19711 -apprise/plugins/NotifySNS.py,sha256=ZEBWf0ZJ9w_ftzUikKEvQWJ2fkxrUbrLhPmTRD2DvRQ,24159 -apprise/plugins/NotifySendGrid.py,sha256=IBdYmZcthkvGCz1N_Fs8vDnImtHug6LpuKv1mWT_Cdo,16213 -apprise/plugins/NotifyServerChan.py,sha256=WsrClO9f0xi-KpnLZGTUHV7PxeU3l1D875gvMaZRG_M,5779 -apprise/plugins/NotifySignalAPI.py,sha256=OwJ7qjJ-ZJyS8GS-dBWAtgizHMnGegg76GuwFobyWkw,16733 -apprise/plugins/NotifySimplePush.py,sha256=dUC6O8IGuUIAz5z6_H7A7jdv5Gj1plytNm5QyKnHAYg,10876 -apprise/plugins/NotifySinch.py,sha256=tmHLwQa9lWHEI3EcRfigl4i7JU46A6gKAi_GbY0PrX4,16813 -apprise/plugins/NotifySlack.py,sha256=3VdjruU5FPr3jT_s3axwRJKMcBYXP0lvJnyuKedIlcE,42521 -apprise/plugins/NotifySparkPost.py,sha256=6dRTwnYU50Lvmp6AlwCyePe0TMbVEXaSwNeGkg__EYo,27878 -apprise/plugins/NotifyStreamlabs.py,sha256=lx3N8T2ufUWFYIZ-kU_rOv50YyGWBqLSCKk7xim2_Io,16023 -apprise/plugins/NotifySynology.py,sha256=_jTqfgWeOuSi_I8geMOraHBVFtDkvm9mempzymrmeAo,11105 -apprise/plugins/NotifySyslog.py,sha256=J9Kain2bb-PDNiG5Ydb0q678cYjNE_NjZFqMG9oEXM0,10617 -apprise/plugins/NotifyTechulusPush.py,sha256=m43_Qj1scPcgCRX5Dr2Ul7nxMbaiVxNzm_HRuNmfgoA,7253 -apprise/plugins/NotifyTelegram.py,sha256=XE7PC9LRzcrfE2bpLKyor5lO_7B9LS4Xw1UlUmA4a2A,37187 -apprise/plugins/NotifyThreema.py,sha256=C_C3j0fJWgeF2uB7ceJFXOdC6Lt0TFBInFMs5Xlg04M,11885 -apprise/plugins/NotifyTwilio.py,sha256=WCo8eTI9OF1rtg3ueHHRDXt4Lp45eZ6h3IdTZVf5HM8,15976 -apprise/plugins/NotifyTwist.py,sha256=nZA73CYVe-p0tkVMy5q3vFRyflLM4yjUo9LECvkUwgc,28841 -apprise/plugins/NotifyTwitter.py,sha256=qML0jlBkLZMHrkKRxBpVUnBwAz8MWGYyI3cvwi-hrgM,30152 -apprise/plugins/NotifyVoipms.py,sha256=msy_D32YhP8OP4_Mj_L3OYd4iablqQETN-DvilGZeVQ,12552 -apprise/plugins/NotifyVonage.py,sha256=xmzZgobFaGA_whpQ5fDuG2poUrK9W4T77yP7dusHcSo,13431 -apprise/plugins/NotifyWeComBot.py,sha256=5lkhXDgyJ1edzknemKsO1sJVv7miR9F_7xI40Ag7ICI,8789 -apprise/plugins/NotifyWebexTeams.py,sha256=gbbRlHiPuOvUIZexE5m2QNd1dN_5_x0OdT5m6NSrcso,9164 -apprise/plugins/NotifyWhatsApp.py,sha256=PtzW0ue3d2wZ8Pva_LG29jUcpRRP03TFxO5SME_8Juo,19924 -apprise/plugins/NotifyWindows.py,sha256=QgWJfJF8AE6RWr-L81YYVZNWrnImK9Qr3B991HWanqU,8563 -apprise/plugins/NotifyXBMC.py,sha256=5hDuOTP3Kwtp4NEMaokNjWyEKEkQcN_fSx-cUPJvhaU,12096 -apprise/plugins/NotifyXML.py,sha256=WJnmdvXseuTRgioVMRqpR8a09cDfTpPTfuFlTnT_TfI,16973 -apprise/plugins/NotifyZulip.py,sha256=M8cSL7nZvtBYyTX6045g34tyn2vyybltgD1CoI4Xa7A,13968 -apprise/plugins/__init__.py,sha256=jTfLmW47kZC_Wf5eFFta2NoD2J-7_E7JaPrrVMIECkU,18725 -apprise/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -apprise/utils.py,sha256=SjRU2tb1UsVnTCTXPUyXVz3WpRbDWwAHH-d3ll38EHY,53185 diff --git a/libs/apprise-1.7.6.dist-info/REQUESTED b/libs/apprise-1.7.6.dist-info/REQUESTED deleted file mode 100644 index e69de29bb..000000000 diff --git a/libs/apprise-1.7.6.dist-info/INSTALLER b/libs/apprise-1.8.0.dist-info/INSTALLER similarity index 100% rename from libs/apprise-1.7.6.dist-info/INSTALLER rename to libs/apprise-1.8.0.dist-info/INSTALLER diff --git a/libs/apprise-1.7.6.dist-info/LICENSE b/libs/apprise-1.8.0.dist-info/LICENSE similarity index 100% rename from libs/apprise-1.7.6.dist-info/LICENSE rename to libs/apprise-1.8.0.dist-info/LICENSE diff --git a/libs/apprise-1.7.6.dist-info/METADATA b/libs/apprise-1.8.0.dist-info/METADATA similarity index 99% rename from libs/apprise-1.7.6.dist-info/METADATA rename to libs/apprise-1.8.0.dist-info/METADATA index ac7cb9aac..c01ef211a 100644 --- a/libs/apprise-1.7.6.dist-info/METADATA +++ b/libs/apprise-1.8.0.dist-info/METADATA @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: apprise -Version: 1.7.6 +Version: 1.8.0 Summary: Push Notifications that work with just about every platform! Home-page: https://github.com/caronc/apprise Author: Chris Caron diff --git a/libs/apprise-1.8.0.dist-info/RECORD b/libs/apprise-1.8.0.dist-info/RECORD new file mode 100644 index 000000000..bcfa733bc --- /dev/null +++ b/libs/apprise-1.8.0.dist-info/RECORD @@ -0,0 +1,183 @@ +../../bin/apprise,sha256=ZJ-e4qqxNLtdW_DAvpuPPX5iROIiQd8I6nvg7vtAv-g,233 +apprise-1.8.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +apprise-1.8.0.dist-info/LICENSE,sha256=gt7qKBxRhVcdmXCYVtrWP6DtYjD0DzONet600dkU994,1343 +apprise-1.8.0.dist-info/METADATA,sha256=if2D6aZrIVQZAe9BKWyqKoKH89ZGnYOTvXGRfqcSf_g,44823 +apprise-1.8.0.dist-info/RECORD,, +apprise-1.8.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +apprise-1.8.0.dist-info/WHEEL,sha256=Xo9-1PvkuimrydujYJAjF7pCkriuXBpUPEjma1nZyJ0,92 +apprise-1.8.0.dist-info/entry_points.txt,sha256=71YypBuNdjAKiaLsiMG40HEfLHxkU4Mi7o_S0s0d8wI,45 +apprise-1.8.0.dist-info/top_level.txt,sha256=JrCRn-_rXw5LMKXkIgMSE4E0t1Ks9TYrBH54Pflwjkk,8 +apprise/__init__.py,sha256=nBy2lkwvLxW1QTMEagOZZnM5AQWLM6CRUYt-Gr03X94,3388 +apprise/apprise.py,sha256=JWSqg5pYJOydubQyaIjR9gIPhb2okcrGe2mQ_NhPNS0,32837 +apprise/apprise.pyi,sha256=_4TBKvT-QVj3s6PuTh3YX-BbQMeJTdBGdVpubLMY4_k,2203 +apprise/apprise_attachment.py,sha256=eYVnNWTWQzlzKPDOgMCzGvVtXXDL6noMwtRKwwvyL8Q,12528 +apprise/apprise_attachment.pyi,sha256=R9-0dVqWpeaFrVpcREwPhGy3qHWztG5jEjYIOsbE5dM,1145 +apprise/apprise_config.py,sha256=qlNtd-OkldrY9rE9vT67fVPHINx9fkkbwQinhbBjQ_I,16896 +apprise/apprise_config.pyi,sha256=_mUlCnncqAq8sL01WxQTgZjnb2ic9kZXvtqZmVl-fc8,1568 +apprise/asset.py,sha256=ICXIjCi12Xq8E-WIR4mrVC7KcpPRiJDlKG8cHqoCll0,11643 +apprise/asset.pyi,sha256=NYLXXYbScgRkspP27XGpRRM_uliPu1OCdWdZBPPvLng,979 +apprise/assets/NotifyXML-1.0.xsd,sha256=292qQ_IUl5EWDhPyzm9UTT0C2rVvJkyGar8jiODkJs8,986 +apprise/assets/NotifyXML-1.1.xsd,sha256=bjR3CGG4AEXoJjYkGCbDttKHSkPP1FlIWO02E7G59g4,1758 +apprise/assets/themes/default/apprise-failure-128x128.ico,sha256=Mt0ptfHJaN3Wsv5UCNDn9_3lyEDHxVDv1JdaDEI_xCA,67646 +apprise/assets/themes/default/apprise-failure-128x128.png,sha256=66ps8TDPxVH3g9PlObJqF-0x952CjnqQyN3zvpRcOT8,16135 +apprise/assets/themes/default/apprise-failure-256x256.png,sha256=bQBsKKCsKfR9EqgYOZrcVcVa5y8qG58PN2mEqO5eNRI,41931 +apprise/assets/themes/default/apprise-failure-32x32.png,sha256=vH0pZffIDCvkejpr3fJHGXW__8Yc3R_p0bacX6t6l18,2437 +apprise/assets/themes/default/apprise-failure-72x72.png,sha256=EP5A8DHRDr9srgupFSwOoyQ308bNJ8aL192J_L4K-ec,7600 +apprise/assets/themes/default/apprise-info-128x128.ico,sha256=F5_CirmXueRCRI5Z_Crf6TS6jVIXTJlRD83zw1oJ66g,67646 +apprise/assets/themes/default/apprise-info-128x128.png,sha256=bBqRZAgQey-gkmJrnFhPbzjILSrljE59mRkgj3raMQo,16671 +apprise/assets/themes/default/apprise-info-256x256.png,sha256=B5r_O4d9MHCmSWZwfbqQgZSp-ZetTdiBSwKcMTF1aFA,43331 +apprise/assets/themes/default/apprise-info-32x32.png,sha256=lt3NZ95TzkiCNVNlurrB2fE2nriMa1wftl7nrNXmb6c,2485 +apprise/assets/themes/default/apprise-info-72x72.png,sha256=kDnsZpqNUZGqs9t1ECUup7FOfXUIL-rupnQCYJp9So4,7875 +apprise/assets/themes/default/apprise-logo.png,sha256=85ttALudKkLmiqilJT7mUQLUXRFmM1AK89rnwLm313s,160907 +apprise/assets/themes/default/apprise-success-128x128.ico,sha256=uCopPwdQjxgfohKazHaDzYs9y4oiaOpL048PYC6WRlg,67646 +apprise/assets/themes/default/apprise-success-128x128.png,sha256=nvDuU_QqhGlw6cMtdj7Mv-gPgqCEx-0DaaXn1KBLVYg,17446 +apprise/assets/themes/default/apprise-success-256x256.png,sha256=vXfKuxY3n0eeXHKdb9hTxICxOEn7HjAQ4IZpX0HSLzc,48729 +apprise/assets/themes/default/apprise-success-32x32.png,sha256=Jg9pFJh3YPI-LiPBebyJ7Z4Vt7BRecaE8AsRjQVIkME,2471 +apprise/assets/themes/default/apprise-success-72x72.png,sha256=FQbgvIhqKOhEK0yvrhaSpai0R7hrkTt_-GaC2KUgCCk,7858 +apprise/assets/themes/default/apprise-warning-128x128.ico,sha256=6XaQPOx0oWK_xbhr4Yhb7qNazCWwSs9lk2SYR2MHTrQ,67646 +apprise/assets/themes/default/apprise-warning-128x128.png,sha256=pf5c4Ph7jWH7gf39dJoieSj8TzAsY3TXI-sGISGVIW4,16784 +apprise/assets/themes/default/apprise-warning-256x256.png,sha256=SY-xlaiXaj420iEYKC2_fJxU-yj2SuaQg6xfPNi83bw,43708 +apprise/assets/themes/default/apprise-warning-32x32.png,sha256=97R2ywNvcwczhBoWEIgajVtWjgT8fLs4FCCz4wu0dwc,2472 +apprise/assets/themes/default/apprise-warning-72x72.png,sha256=L8moEInkO_OLxoOcuvN7rmrGZo64iJeH20o-24MQghE,7913 +apprise/attachment/__init__.py,sha256=9jSiGEbLllS-0Vbpgxo4MCpZfIJ-saezWWgQ1PofZ9I,1678 +apprise/attachment/base.py,sha256=phcM6C281j2eoEhtoH5FY0m5s_JvWiEm1AK9z9gyi0w,13692 +apprise/attachment/base.pyi,sha256=w0XG_QKauiMLJ7eQ4S57IiLIURZHm_Snw7l6-ih9GP8,961 +apprise/attachment/file.py,sha256=d9gpsunNIot-6h6w-WQmwWgFiCv7YLqk42zJr4LLqE4,4752 +apprise/attachment/http.py,sha256=C0L9zKmHi60wyzEZN-OJCF7LVoY-MMHYMqhXspFlLdU,13748 +apprise/cli.py,sha256=h-pWSQPqQficH6J-OEp3MTGydWyt6vMYnDZvHCeAt4Y,20697 +apprise/common.py,sha256=I6wfrndggCL7l7KAl7Cm4uwAX9n0l3SN4-BVvTE0L0M,5593 +apprise/common.pyi,sha256=luF3QRiClDCk8Z23rI6FCGYsVmodOt_JYfYyzGogdNM,447 +apprise/config/__init__.py,sha256=oDxdoqG2NEYu_bbpLsLaM3L9WKY3gNn5gjIwb2h3LU4,1679 +apprise/config/base.py,sha256=iWgrBk4-wm_SHtNbe7dCQOYnbkI3oKWP_b60qwjGSoU,53173 +apprise/config/base.pyi,sha256=cngfobwH6v2vxYbQrObDi5Z-t5wcquWF-wR0kBCr3Eg,54 +apprise/config/file.py,sha256=MB_H2X5lJZS-XAOahkMb3IsD2rgVebFjiEF76goITEg,6125 +apprise/config/http.py,sha256=CjQtv_OQJykMxD4ssiwbFI3P8CeQiPdYV_ZIiL_XqMw,9440 +apprise/config/memory.py,sha256=8VICU-WLux8KnW6i9sf9fgmns90J-MfVYI3pvTiyTno,2816 +apprise/conversion.py,sha256=fSn-pTE6-vNt9qVQCKib_NTMhZnCH88FoMt14x6co1M,6273 +apprise/decorators/__init__.py,sha256=e_PDAm0kQNzwDPx-NJZLPfLMd2VAABvNZtxx_iDviRM,1487 +apprise/decorators/base.py,sha256=KnRzhrTOxQxwm4KuJxfCfaYfX0MrFbqWTvXY1XuiNck,8019 +apprise/decorators/notify.py,sha256=FzIa7m-G5KnVVa__rjyn990zt2lqE8sdHW-XY79lbAU,5097 +apprise/emojis.py,sha256=ONF0t8dY9f2XlEkLUG79-ybKVAj2GqbPj2-Be97vAoI,87738 +apprise/i18n/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +apprise/i18n/en/LC_MESSAGES/apprise.mo,sha256=w-KW6RXYYMr14raaIvJzbop8tXU4qrsz50zm8rcCo3U,3959 +apprise/locale.py,sha256=4uSr4Nj_rz6ISMMAfRVRk58wZVLKOofJgk2x0_E8NkQ,8994 +apprise/logger.py,sha256=131hqhed8cUj9x_mfXDEvwA2YbcYDFAYiWVK1HgxRVY,6921 +apprise/manager.py,sha256=_LiMG1Upk6h6GcxOw3GjsPtVT8ZJLhLlQkC_xL_dm6A,27218 +apprise/manager_attachment.py,sha256=EkrcKtKjbxTXXyDaKyiu4XSfDu9wKFSdJD7TOTpyOUc,2200 +apprise/manager_config.py,sha256=sCIOlBTH13bQ1cuhQVpUq2vyKWBArA8YRyPnXIB1iWQ,2205 +apprise/manager_plugins.py,sha256=Xbg5-xr-06zMIDoWviz-zKcbzusHj0iBBMchKPpUOkg,2211 +apprise/plugins/__init__.py,sha256=Hm-vt-Xtxir5mgOdehqlGLhIlc45LA31zjqV42uRnB8,18701 +apprise/plugins/apprise_api.py,sha256=D93eUOlEQ1xPZYdagnEtIxkSuzZ4b9XreuhntQW97F8,16638 +apprise/plugins/aprs.py,sha256=fyzhdsESVwsqHMbfjnlRuGuAqAz2Pk_-MrmiMihs8qY,25506 +apprise/plugins/bark.py,sha256=oSz7Nr7vxnXxqA5dRaO6ze2IljkgEQavUPs-MUUDSX4,15681 +apprise/plugins/base.py,sha256=720L5OyMMLqlM3UdYSNMpA3m0rCudzGP3HwKgu73Ons,30350 +apprise/plugins/base.pyi,sha256=aKlZXRYUgG8lz_ZgGkYYJ_GKhuf18youTmMU-FlG7z8,21 +apprise/plugins/boxcar.py,sha256=8ImhsSsOK9o3eiYp4dZ6fO6p6AeI-jOPWoFJ8qvRAxY,12850 +apprise/plugins/bulksms.py,sha256=XuP8X4dL1wWQU7TkLYWPWRAro7TymnF7PlF2ESe7o0o,15988 +apprise/plugins/bulkvs.py,sha256=sLpiKbHs63Yu0UjMc9erW1VSgLceuu5wvPie5iyl03k,13273 +apprise/plugins/burstsms.py,sha256=7YmuhElVvT-0FIxMFBILHjo6Fir0J4qHTuqj8KfWBaI,15533 +apprise/plugins/chantify.py,sha256=hOvrmhH051Us28_kv0mKkuaJ2BN_8pSsslF8eMCgp-Q,6660 +apprise/plugins/clicksend.py,sha256=kKUJgk9FcTcfXqcIV57uMz0VxBtSQqkpxocRkgn0-3Q,11408 +apprise/plugins/custom_form.py,sha256=fMYwSQyEa_u8IEw5QSylDn-y32FnmymkL5ng-tGxDoc,17888 +apprise/plugins/custom_json.py,sha256=UCXaegE1nD8UrKlFrSKQbxfbcrX1BHUvZwBZY6a_aJc,13834 +apprise/plugins/custom_xml.py,sha256=lrPCRngPz8_oV2A8ZfiIY56BRQc1iv0PN0--2LOlxpA,16956 +apprise/plugins/d7networks.py,sha256=2o_wDgoak_S0sUJJa7HPtu0PPKLVmIOrq1rV9llOnHY,15030 +apprise/plugins/dapnet.py,sha256=fclGE69ggMejgpyvBpJqTwFNF3g2w7qpFySOMcc9vi0,13607 +apprise/plugins/dbus.py,sha256=lvHLmOkJYJAr4TjrigdIgP5bBlQXHrNCDR0k80LNsks,14366 +apprise/plugins/dingtalk.py,sha256=1twAGYUZzjhQepg2zhaR7u8QJuWvM5WymkbPQSUKBck,11992 +apprise/plugins/discord.py,sha256=kdR09bKU80-AosBIrTkMSxoOkAUHMXKwSr1P3H-M_f4,26053 +apprise/plugins/email.py,sha256=pVVWhEpT9Zi7qyUvpI2UxbjxkXYe6FoJj8E0NTw4P98,39912 +apprise/plugins/emby.py,sha256=HWYxlgHE99yAPKii4IE1XQQ-B1HViklWOkefjmq6SW4,24022 +apprise/plugins/enigma2.py,sha256=40Uo0m1JtLUcwRnfqKqdX_8ZR1-SvPfJ5470uijgdfw,11481 +apprise/plugins/fcm/__init__.py,sha256=eTjX-ahPHrPddX0v_Ix77qEr2G4NQ7reClCMzX3Nxwk,21657 +apprise/plugins/fcm/color.py,sha256=rQxVRL_CcRlgnNTQXkjB1Bfs0Xc933zOB1tURSdhi7Y,4585 +apprise/plugins/fcm/common.py,sha256=978uBUoNdtopCtylipGiKQdsQ8FTONxkFBp7uJMZHc8,1718 +apprise/plugins/fcm/oauth.py,sha256=Vvbd0-rd5BPIjAneG3rILU153JIzfSZ0kaDov6hm96M,11197 +apprise/plugins/fcm/priority.py,sha256=0WuRW1y1HVnybgjlTeCZPHzt7j8SwWnC7faNcjioAOc,8163 +apprise/plugins/feishu.py,sha256=buGBg1YlcwHjwUGzUfju4cdYbmEOFl3EHU_NzEBqtlM,7253 +apprise/plugins/flock.py,sha256=_bhH-ub0LbuU7k2p1ZwUPZ-TbC3kpD48GKNtLebUpoM,12735 +apprise/plugins/freemobile.py,sha256=NZf553UWkl1FVEVyWQKJN3ZD6opYSv3I-L6DRaKbiCw,6679 +apprise/plugins/gnome.py,sha256=UYtaiMKxILhTdsxe4aeLaJwjV6Af-8VhjVR3W3CyPPk,9046 +apprise/plugins/google_chat.py,sha256=f7F4gPxwwkmhDBlXMHzYoHRhPX3w8tyD7OimGBjmNxg,12609 +apprise/plugins/gotify.py,sha256=ISzmuQ4-Wd46OlaxGSAZBbWDTq9mHBUYO0R-7tAX_zc,10538 +apprise/plugins/growl.py,sha256=mlpN1QXGlEf2BA3BORnvkyT0oiTsWBev2y5gzpOm9r0,14006 +apprise/plugins/guilded.py,sha256=lhE6gK7laQNYEubD9lBGRemFK-IHis_u2tNekbUoGgM,3707 +apprise/plugins/home_assistant.py,sha256=Wstut0QaQL2dE66kH8MOqMANayhvGOq7CuxVz9O-T60,10722 +apprise/plugins/httpsms.py,sha256=2TtIlAFa4cjXwpMyrjfieCFHgaZl4H_YT6IoPIMDOcg,11123 +apprise/plugins/ifttt.py,sha256=ZHtu7pW9I0aHVEC4DshKi6XZCwqQ0A_XGLyFJujwdKY,13412 +apprise/plugins/join.py,sha256=mRop7thH24kQmvIEvtnh0HT0VyBrUXm2sS-P69c0iFE,13568 +apprise/plugins/kavenegar.py,sha256=1vdms7QBaLcTiLXeQGfprMU5rw9wgImRLtALIb78-ro,12607 +apprise/plugins/kumulos.py,sha256=6M_way1Qi5bELm8Csay86AVtVhzmRyv5hfxGrFvyzN4,8201 +apprise/plugins/lametric.py,sha256=JR0XjdxkEphT4VKvKfElNxpAoOpXZCb-40b2SJQP9XA,37521 +apprise/plugins/line.py,sha256=-xONdu4LFkS3sGgZeEGiPGbBIvBEd20lCbyxKLhQwAg,10659 +apprise/plugins/lunasea.py,sha256=WxJ-RIbFDiS1-5HjCs8XVdNv7nt2EHimsXGCDaK0sC0,14442 +apprise/plugins/macosx.py,sha256=4vIXz1xlsq_xlEyeu_rEvzJQZYcWq7pVmSn5VjF_dCY,8258 +apprise/plugins/mailgun.py,sha256=ad3jzdrbdgwWmOAAu4e_inLEAo-cii4z0OnIJQXoSIA,25396 +apprise/plugins/mastodon.py,sha256=X8CBxnuWORLo9JEOLCJcSafFNVrcEd778R38doyNWUo,35254 +apprise/plugins/matrix.py,sha256=zJPTLFqRT6mofXFVi421_poF0Qm7KaWSgNXTBKq3YoI,50032 +apprise/plugins/mattermost.py,sha256=KfHfqt3LO4XuMsY-qNV-i_OAAamF-35RgjHzxuq2deM,12709 +apprise/plugins/messagebird.py,sha256=3TJ_31Vc1liwQKKKwEiO_rP5e4jP4QkcU_wHyRGtf5Q,12235 +apprise/plugins/misskey.py,sha256=E5UrDrVryb7zV2D_qJCPsCyvpynF4-22JqRVco6PcgM,9587 +apprise/plugins/mqtt.py,sha256=3LcRhT44o2QoSH5rJs23xRbi2vob-po5FAPnnEU_cgs,19528 +apprise/plugins/msg91.py,sha256=V3PwdCS5r-LbVHNNTFZGUHt7GPwQOHnQC0mx8G90wGQ,12664 +apprise/plugins/msteams.py,sha256=4maXBIQFEVfH-IVzZW6t4jirsozmKwF4ySPP5h20cTQ,22964 +apprise/plugins/nextcloud.py,sha256=iYmKGH-xZ4Kj3HvXA_krQody7LRqJKzMRu39Ivk1ve4,12742 +apprise/plugins/nextcloudtalk.py,sha256=TTK8qhy0VPjG0N1yFUBJWTieV-1DqT9Jux9D5PRiYAE,10994 +apprise/plugins/notica.py,sha256=MzryA8x-dSt-oRk9g3dlTTrb1ul7mnbRNajbiwTx1Mc,12973 +apprise/plugins/notifiarr.py,sha256=ZI2mjXwKLWx7SXb6d3S-sk2JmCswJ23UTPj9jVNSN0U,15844 +apprise/plugins/notifico.py,sha256=IKkiXU8HdbRnEWzkQKPFo1g-ZnT8AIwFYer7jF2Yjac,12022 +apprise/plugins/ntfy.py,sha256=jOmPZETJByyNmYSzr-2F3k5jAXFVNldcd3wK-tQRpyE,27956 +apprise/plugins/office365.py,sha256=bCg53GDruS7A3_PQNCjiSERhfub_FHTOVCsRwjgbjXU,25173 +apprise/plugins/one_signal.py,sha256=0ljKuz6Wyn5K8Rxp3BT8aARzHWYff0q2TWA5f-ZLJSA,18140 +apprise/plugins/opsgenie.py,sha256=wWUREzEn8FDQmmVGhmTlN7kxsYlzNj1tK3wA5t8UbCA,20502 +apprise/plugins/pagerduty.py,sha256=1vQ2rfbDUKnM0XdkVMrvTnWIPK7lTxrm-Nslt3LW5Ng,17857 +apprise/plugins/pagertree.py,sha256=uhZL2SxIJr0cguMGhJP_RIJxJZLd86uoAcMhHsBOKm8,13836 +apprise/plugins/parseplatform.py,sha256=G99l6AnHZtaw11y7oBBVVvgdg7lSM8gWFm4tAWhJ8d4,10278 +apprise/plugins/popcorn_notify.py,sha256=ppOqxPrZrOPa-TFicO3Lo_jgwOOPCNEXMgmEo10DAZA,10574 +apprise/plugins/prowl.py,sha256=fYsv6s8xA6OC0yFajgLf3jgL6IwiaOTZaJKisW4eNyw,9769 +apprise/plugins/pushbullet.py,sha256=g-7_Y0N4x-a8YE2gqDqW5OIi74YY7rja_jQ8WVKc4FI,15353 +apprise/plugins/pushdeer.py,sha256=8StOcyK1jlx3pc_CnmFUSqdjfvuv0qa6bf--FHP2_KE,6909 +apprise/plugins/pushed.py,sha256=pm3T7JGExjYeqVWQVN8J8JHkn1XBMfix_sdmr1ItXY8,12253 +apprise/plugins/pushjet.py,sha256=Xk0hzx6l5bNHtGgL0M_znRY5JRPUJf4_PhleCyFbe0I,8935 +apprise/plugins/pushme.py,sha256=EswSmup0uL3QmANeJPDhDYyyeBwSrTnqdjMlfvWFnFA,7121 +apprise/plugins/pushover.py,sha256=I6u9C1SVAEVnsLUySFq5UyHi4cQQtew5za4r86aTK10,21194 +apprise/plugins/pushsafer.py,sha256=aGQ1ibggAWGpcBwpD4oQQYMUcKVcV_xsTlc5_wdjssY,26743 +apprise/plugins/pushy.py,sha256=Ai1tKhcus5IuwvhQgtaj--RMPahgtpleWrBbr_ZQJfM,12483 +apprise/plugins/reddit.py,sha256=z54HpGeJxkyS_LH38nqPa6rqW8mrJqSEGTNOh4Cf-78,25768 +apprise/plugins/revolt.py,sha256=kVrJvTb7mBFXFZd9GIVrX2jVIvaUc5D5via48nOXNSA,14487 +apprise/plugins/rocketchat.py,sha256=oSaFzQ7XjOzjhPIPhdS7r_LGa1IJXV6VK_3xNH9Gq9M,25721 +apprise/plugins/rsyslog.py,sha256=9NTg4sYNbbAzw_MnN51YKxVQpb2o6WZUMyKpRtgoupM,11969 +apprise/plugins/ryver.py,sha256=OM_AG-oiRnNYIua-70Wp8lUpZzIkZ7erIiDE6Fd4Q6s,11810 +apprise/plugins/sendgrid.py,sha256=PGSdbkhERhFSZZN2j7km6mdojdlo7sFxs28lmOeDpgQ,16200 +apprise/plugins/serverchan.py,sha256=fcnuindQTPaKZ5gbS-nAxvL31YqkEF-vi4w8g_h7dKc,5766 +apprise/plugins/ses.py,sha256=CF17VZOEZybwdgqqu00qSoombTP5z0M8P_XxPmyc2f4,33528 +apprise/plugins/signal_api.py,sha256=PeCB_1YJc4lZwDdArTgzHP-Vhe9iwCNIYe4WVW_HgUo,16716 +apprise/plugins/simplepush.py,sha256=bL0WiRUCp39ST9X_0FNAFJJ1BFtd1t5OD_JTRneUGFY,10859 +apprise/plugins/sinch.py,sha256=0-z_cNIWMJu4kdTca-6B3raAIRV-PG1E7fUtbxUDECo,16796 +apprise/plugins/slack.py,sha256=tLbJsr97Ddp8bq1ozSEp1ssLsh913uC0Y24Xm3TN4Bo,42508 +apprise/plugins/smseagle.py,sha256=WbULwfwnUEkPw_z-2cVp2TzrupS7fkPfcQgq779nG8k,24144 +apprise/plugins/smsmanager.py,sha256=aSSZcvpWjKEdDg-XPyD-9fTkaQ0FodvuuO7Hqg7N6Tk,14112 +apprise/plugins/smtp2go.py,sha256=D3C4rWGCJ-oqaZH8JgoMEV_3BYHCCHMd6M7cG0piIvA,19698 +apprise/plugins/sns.py,sha256=dA58nElGwKKnVAr--rh1deIa9BNPbZElK6cb5G1o3g8,24142 +apprise/plugins/sparkpost.py,sha256=ZR4866e1DefqOuuu3z_vBhS8C5YX0sj1G9WEhdWFMEk,27865 +apprise/plugins/streamlabs.py,sha256=Pyrz2xY2rDo8rnTgu4L5t2u1EPrZWVcIP37k8pE2SaE,16010 +apprise/plugins/synology.py,sha256=-g-Cesx8g-nG10shjUAnYtyLpMoGfUNDcTIGfi2UXDE,11088 +apprise/plugins/syslog.py,sha256=sNKh0iSNc3ARuMIO13uwRirMHzW2VxxTRwyZ-0UYL60,10604 +apprise/plugins/techuluspush.py,sha256=HV1m72pRsC3IfVN66zWK9joslDJsKRKYD6_uRfqjnHk,7240 +apprise/plugins/telegram.py,sha256=zsmCUJU-5INyJ-RDUYIHUEXpwnwShOISWc4Xf7Epanw,37168 +apprise/plugins/threema.py,sha256=aWvFfN5Ve0DZCDX7qJVlY8INT_C-AWh-jnYnPTd7Ufs,11868 +apprise/plugins/twilio.py,sha256=0iYa2ug_2_Rbz4N_lGVihtSSxxFaK2f7Sdr9oK_Wg18,15959 +apprise/plugins/twist.py,sha256=hLqabH_STcZiAwRCgFHO7n5qYx7eZgoDw4xT5Zl_y6Q,28824 +apprise/plugins/twitter.py,sha256=ZTHLuZYowQ6qSw9ujsRB5oNp9F9PyutU-iAKAUOkmT8,30129 +apprise/plugins/voipms.py,sha256=NVbrsY7fJG0MbF6eId--0wo9cRC2kehhg8L0sASQs2w,12539 +apprise/plugins/vonage.py,sha256=PRFMdjn0ARqOEhL8kXySz8pi9vsApl2fh9mZyLVySgo,13414 +apprise/plugins/webexteams.py,sha256=DErDmHhvnHfsAyp4L3mF6vSfq0WabL1lbbl-jDUKYTw,9151 +apprise/plugins/wecombot.py,sha256=o5CO0IyHN7wAXhf7es08QiPCmUl8shZCgN_nyJxycVA,8776 +apprise/plugins/whatsapp.py,sha256=9KObQEvUOtOclnudKhNj7qRrJ0uii7dhfxgwzuMHKxY,19911 +apprise/plugins/windows.py,sha256=88bDJQBnuuA0u7_xoTC-1Ppxt4tz39UMZseRY3EX_FE,8550 +apprise/plugins/xbmc.py,sha256=2ssX2AItDUy5FJFDY9r_JI4u7qc0CLGvG-hW0KtgWag,12079 +apprise/plugins/zulip.py,sha256=PJMB8RmV_ddP5waNAQ0Z29cpIut1WFY31DLFeg8-Nao,13955 +apprise/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +apprise/url.py,sha256=QEoqmWzapzXPwBXe85SdJaPWq7B4gcv4QCeJtndN4_E,29455 +apprise/url.pyi,sha256=WLaRREH7FzZ5x3-qkDkupojWGFC4uFwJ1EDt02lVs8c,520 +apprise/utils.py,sha256=Sy0pVslC8FDKh5RY8o6eVB-sPHFxBXFTdbhKSVf4UDM,53461 diff --git a/libs/apprise-1.7.4.dist-info/REQUESTED b/libs/apprise-1.8.0.dist-info/REQUESTED similarity index 100% rename from libs/apprise-1.7.4.dist-info/REQUESTED rename to libs/apprise-1.8.0.dist-info/REQUESTED diff --git a/libs/apprise-1.7.6.dist-info/WHEEL b/libs/apprise-1.8.0.dist-info/WHEEL similarity index 100% rename from libs/apprise-1.7.6.dist-info/WHEEL rename to libs/apprise-1.8.0.dist-info/WHEEL diff --git a/libs/apprise-1.7.6.dist-info/entry_points.txt b/libs/apprise-1.8.0.dist-info/entry_points.txt similarity index 100% rename from libs/apprise-1.7.6.dist-info/entry_points.txt rename to libs/apprise-1.8.0.dist-info/entry_points.txt diff --git a/libs/apprise-1.7.6.dist-info/top_level.txt b/libs/apprise-1.8.0.dist-info/top_level.txt similarity index 100% rename from libs/apprise-1.7.6.dist-info/top_level.txt rename to libs/apprise-1.8.0.dist-info/top_level.txt diff --git a/libs/apprise/Apprise.py b/libs/apprise/Apprise.py index 9a3e8dfc7..05a2ee3cc 100644 --- a/libs/apprise/Apprise.py +++ b/libs/apprise/Apprise.py @@ -33,18 +33,18 @@ from . import common from .conversion import convert_between from .utils import is_exclusive_match -from .NotificationManager import NotificationManager +from .manager_plugins import NotificationManager from .utils import parse_list from .utils import parse_urls from .utils import cwe312_url from .emojis import apply_emojis from .logger import logger -from .AppriseAsset import AppriseAsset -from .AppriseConfig import AppriseConfig -from .AppriseAttachment import AppriseAttachment -from .AppriseLocale import AppriseLocale -from .config.ConfigBase import ConfigBase -from .plugins.NotifyBase import NotifyBase +from .asset import AppriseAsset +from .apprise_config import AppriseConfig +from .apprise_attachment import AppriseAttachment +from .locale import AppriseLocale +from .config.base import ConfigBase +from .plugins.base import NotifyBase from . import plugins from . import __version__ diff --git a/libs/apprise/__init__.py b/libs/apprise/__init__.py index 81373c75b..457528594 100644 --- a/libs/apprise/__init__.py +++ b/libs/apprise/__init__.py @@ -27,7 +27,7 @@ # POSSIBILITY OF SUCH DAMAGE. __title__ = 'Apprise' -__version__ = '1.7.6' +__version__ = '1.8.0' __author__ = 'Chris Caron' __license__ = 'BSD' __copywrite__ = 'Copyright (C) 2024 Chris Caron ' @@ -49,16 +49,17 @@ from .common import ContentLocation from .common import CONTENT_LOCATIONS -from .URLBase import URLBase -from .URLBase import PrivacyMode -from .plugins.NotifyBase import NotifyBase -from .config.ConfigBase import ConfigBase -from .attachment.AttachBase import AttachBase +from .url import URLBase +from .url import PrivacyMode +from .plugins.base import NotifyBase +from .config.base import ConfigBase +from .attachment.base import AttachBase -from .Apprise import Apprise -from .AppriseAsset import AppriseAsset -from .AppriseConfig import AppriseConfig -from .AppriseAttachment import AppriseAttachment +from .apprise import Apprise +from .locale import AppriseLocale +from .asset import AppriseAsset +from .apprise_config import AppriseConfig +from .apprise_attachment import AppriseAttachment from . import decorators @@ -73,7 +74,7 @@ __all__ = [ # Core 'Apprise', 'AppriseAsset', 'AppriseConfig', 'AppriseAttachment', 'URLBase', - 'NotifyBase', 'ConfigBase', 'AttachBase', + 'NotifyBase', 'ConfigBase', 'AttachBase', 'AppriseLocale', # Reference 'NotifyType', 'NotifyImageSize', 'NotifyFormat', 'OverflowMode', diff --git a/libs/apprise/AppriseAttachment.py b/libs/apprise/apprise_attachment.py similarity index 98% rename from libs/apprise/AppriseAttachment.py rename to libs/apprise/apprise_attachment.py index fcfed3af6..3c33f9e73 100644 --- a/libs/apprise/AppriseAttachment.py +++ b/libs/apprise/apprise_attachment.py @@ -27,9 +27,9 @@ # POSSIBILITY OF SUCH DAMAGE. from . import URLBase -from .attachment.AttachBase import AttachBase -from .AppriseAsset import AppriseAsset -from .AttachmentManager import AttachmentManager +from .attachment.base import AttachBase +from .asset import AppriseAsset +from .manager_attachment import AttachmentManager from .logger import logger from .common import ContentLocation from .common import CONTENT_LOCATIONS diff --git a/libs/apprise/AppriseAttachment.pyi b/libs/apprise/apprise_attachment.pyi similarity index 100% rename from libs/apprise/AppriseAttachment.pyi rename to libs/apprise/apprise_attachment.pyi diff --git a/libs/apprise/AppriseConfig.py b/libs/apprise/apprise_config.py similarity index 99% rename from libs/apprise/AppriseConfig.py rename to libs/apprise/apprise_config.py index 7e5a9126f..080f70d30 100644 --- a/libs/apprise/AppriseConfig.py +++ b/libs/apprise/apprise_config.py @@ -28,9 +28,9 @@ from . import ConfigBase from . import CONFIG_FORMATS -from .ConfigurationManager import ConfigurationManager +from .manager_config import ConfigurationManager from . import URLBase -from .AppriseAsset import AppriseAsset +from .asset import AppriseAsset from . import common from .utils import GET_SCHEMA_RE from .utils import parse_list diff --git a/libs/apprise/AppriseConfig.pyi b/libs/apprise/apprise_config.pyi similarity index 100% rename from libs/apprise/AppriseConfig.pyi rename to libs/apprise/apprise_config.pyi diff --git a/libs/apprise/AppriseAsset.py b/libs/apprise/asset.py similarity index 99% rename from libs/apprise/AppriseAsset.py rename to libs/apprise/asset.py index 97a7bccfb..450303d0e 100644 --- a/libs/apprise/AppriseAsset.py +++ b/libs/apprise/asset.py @@ -33,7 +33,7 @@ from os.path import isfile from os.path import abspath from .common import NotifyType -from .NotificationManager import NotificationManager +from .manager_plugins import NotificationManager # Grant access to our Notification Manager Singleton diff --git a/libs/apprise/AppriseAsset.pyi b/libs/apprise/asset.pyi similarity index 100% rename from libs/apprise/AppriseAsset.pyi rename to libs/apprise/asset.pyi diff --git a/libs/apprise/attachment/__init__.py b/libs/apprise/attachment/__init__.py index 0a88313d6..c2aef1eec 100644 --- a/libs/apprise/attachment/__init__.py +++ b/libs/apprise/attachment/__init__.py @@ -27,8 +27,8 @@ # POSSIBILITY OF SUCH DAMAGE. # Used for testing -from .AttachBase import AttachBase -from ..AttachmentManager import AttachmentManager +from .base import AttachBase +from ..manager_attachment import AttachmentManager # Initalize our Attachment Manager Singleton A_MGR = AttachmentManager() @@ -36,4 +36,5 @@ __all__ = [ # Reference 'AttachBase', + 'AttachmentManager', ] diff --git a/libs/apprise/attachment/AttachBase.py b/libs/apprise/attachment/base.py similarity index 98% rename from libs/apprise/attachment/AttachBase.py rename to libs/apprise/attachment/base.py index 8cb6bd5cb..71e3a4d0d 100644 --- a/libs/apprise/attachment/AttachBase.py +++ b/libs/apprise/attachment/base.py @@ -29,10 +29,10 @@ import os import time import mimetypes -from ..URLBase import URLBase +from ..url import URLBase from ..utils import parse_bool from ..common import ContentLocation -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class AttachBase(URLBase): @@ -315,7 +315,7 @@ def download(self): "download() is implimented by the child class.") @staticmethod - def parse_url(url, verify_host=True, mimetype_db=None): + def parse_url(url, verify_host=True, mimetype_db=None, sanitize=True): """Parses the URL and returns it broken apart into a dictionary. This is very specific and customized for Apprise. @@ -333,7 +333,8 @@ def parse_url(url, verify_host=True, mimetype_db=None): successful, otherwise None is returned. """ - results = URLBase.parse_url(url, verify_host=verify_host) + results = URLBase.parse_url( + url, verify_host=verify_host, sanitize=sanitize) if not results: # We're done; we failed to parse our url diff --git a/libs/apprise/attachment/AttachBase.pyi b/libs/apprise/attachment/base.pyi similarity index 100% rename from libs/apprise/attachment/AttachBase.pyi rename to libs/apprise/attachment/base.pyi diff --git a/libs/apprise/attachment/AttachFile.py b/libs/apprise/attachment/file.py similarity index 98% rename from libs/apprise/attachment/AttachFile.py rename to libs/apprise/attachment/file.py index 4c9c8f136..c48a707ae 100644 --- a/libs/apprise/attachment/AttachFile.py +++ b/libs/apprise/attachment/file.py @@ -28,9 +28,9 @@ import re import os -from .AttachBase import AttachBase +from .base import AttachBase from ..common import ContentLocation -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class AttachFile(AttachBase): diff --git a/libs/apprise/attachment/AttachHTTP.py b/libs/apprise/attachment/http.py similarity index 98% rename from libs/apprise/attachment/AttachHTTP.py rename to libs/apprise/attachment/http.py index 5a3af9467..aa075d671 100644 --- a/libs/apprise/attachment/AttachHTTP.py +++ b/libs/apprise/attachment/http.py @@ -31,10 +31,10 @@ import requests import threading from tempfile import NamedTemporaryFile -from .AttachBase import AttachBase +from .base import AttachBase from ..common import ContentLocation -from ..URLBase import PrivacyMode -from ..AppriseLocale import gettext_lazy as _ +from ..url import PrivacyMode +from ..locale import gettext_lazy as _ class AttachHTTP(AttachBase): @@ -296,8 +296,7 @@ def __del__(self): """ Tidy memory if open """ - with self._lock: - self.invalidate() + self.invalidate() def url(self, privacy=False, *args, **kwargs): """ @@ -363,8 +362,7 @@ def parse_url(url): us to re-instantiate this object. """ - results = AttachBase.parse_url(url) - + results = AttachBase.parse_url(url, sanitize=False) if not results: # We're done early as we couldn't load the results return results diff --git a/libs/apprise/config/__init__.py b/libs/apprise/config/__init__.py index efbace687..24957e88e 100644 --- a/libs/apprise/config/__init__.py +++ b/libs/apprise/config/__init__.py @@ -27,8 +27,8 @@ # POSSIBILITY OF SUCH DAMAGE. # Used for testing -from .ConfigBase import ConfigBase -from ..ConfigurationManager import ConfigurationManager +from .base import ConfigBase +from ..manager_config import ConfigurationManager # Initalize our Config Manager Singleton C_MGR = ConfigurationManager() @@ -36,4 +36,5 @@ __all__ = [ # Reference 'ConfigBase', + 'ConfigurationManager', ] diff --git a/libs/apprise/config/ConfigBase.py b/libs/apprise/config/base.py similarity index 99% rename from libs/apprise/config/ConfigBase.py rename to libs/apprise/config/base.py index 32e1bde34..953cee394 100644 --- a/libs/apprise/config/ConfigBase.py +++ b/libs/apprise/config/base.py @@ -33,15 +33,15 @@ from .. import plugins from .. import common -from ..AppriseAsset import AppriseAsset -from ..URLBase import URLBase -from ..ConfigurationManager import ConfigurationManager +from ..asset import AppriseAsset +from ..url import URLBase from ..utils import GET_SCHEMA_RE from ..utils import parse_list from ..utils import parse_bool from ..utils import parse_urls from ..utils import cwe312_url -from ..NotificationManager import NotificationManager +from ..manager_config import ConfigurationManager +from ..manager_plugins import NotificationManager # Test whether token is valid or not VALID_TOKEN = re.compile( diff --git a/libs/apprise/config/ConfigBase.pyi b/libs/apprise/config/base.pyi similarity index 100% rename from libs/apprise/config/ConfigBase.pyi rename to libs/apprise/config/base.pyi diff --git a/libs/apprise/config/ConfigFile.py b/libs/apprise/config/file.py similarity index 98% rename from libs/apprise/config/ConfigFile.py rename to libs/apprise/config/file.py index 172d699f8..9f29ca20b 100644 --- a/libs/apprise/config/ConfigFile.py +++ b/libs/apprise/config/file.py @@ -28,10 +28,10 @@ import re import os -from .ConfigBase import ConfigBase +from .base import ConfigBase from ..common import ConfigFormat from ..common import ContentIncludeMode -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class ConfigFile(ConfigBase): diff --git a/libs/apprise/config/ConfigHTTP.py b/libs/apprise/config/http.py similarity index 98% rename from libs/apprise/config/ConfigHTTP.py rename to libs/apprise/config/http.py index f6faba8d4..2e2ba299b 100644 --- a/libs/apprise/config/ConfigHTTP.py +++ b/libs/apprise/config/http.py @@ -28,11 +28,11 @@ import re import requests -from .ConfigBase import ConfigBase +from .base import ConfigBase from ..common import ConfigFormat from ..common import ContentIncludeMode -from ..URLBase import PrivacyMode -from ..AppriseLocale import gettext_lazy as _ +from ..url import PrivacyMode +from ..locale import gettext_lazy as _ # Support YAML formats # text/yaml diff --git a/libs/apprise/config/ConfigMemory.py b/libs/apprise/config/memory.py similarity index 97% rename from libs/apprise/config/ConfigMemory.py rename to libs/apprise/config/memory.py index 413956dfc..181d76236 100644 --- a/libs/apprise/config/ConfigMemory.py +++ b/libs/apprise/config/memory.py @@ -26,8 +26,8 @@ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. -from .ConfigBase import ConfigBase -from ..AppriseLocale import gettext_lazy as _ +from .base import ConfigBase +from ..locale import gettext_lazy as _ class ConfigMemory(ConfigBase): diff --git a/libs/apprise/conversion.py b/libs/apprise/conversion.py index 4d5632f59..5b6d1a941 100644 --- a/libs/apprise/conversion.py +++ b/libs/apprise/conversion.py @@ -29,7 +29,7 @@ import re from markdown import markdown from .common import NotifyFormat -from .URLBase import URLBase +from .url import URLBase from html.parser import HTMLParser diff --git a/libs/apprise/decorators/CustomNotifyPlugin.py b/libs/apprise/decorators/base.py similarity index 98% rename from libs/apprise/decorators/CustomNotifyPlugin.py rename to libs/apprise/decorators/base.py index eb5f17b78..2661db0aa 100644 --- a/libs/apprise/decorators/CustomNotifyPlugin.py +++ b/libs/apprise/decorators/base.py @@ -27,8 +27,8 @@ # POSSIBILITY OF SUCH DAMAGE.USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. -from ..plugins.NotifyBase import NotifyBase -from ..NotificationManager import NotificationManager +from ..plugins.base import NotifyBase +from ..manager_plugins import NotificationManager from ..utils import URL_DETAILS_RE from ..utils import parse_url from ..utils import url_assembly @@ -55,6 +55,9 @@ class CustomNotifyPlugin(NotifyBase): # should be treated differently. category = 'custom' + # Support Attachments + attachment_support = True + # Define object templates templates = ( '{schema}://', diff --git a/libs/apprise/decorators/notify.py b/libs/apprise/decorators/notify.py index 2dd5f5099..892c3adfe 100644 --- a/libs/apprise/decorators/notify.py +++ b/libs/apprise/decorators/notify.py @@ -26,7 +26,7 @@ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. -from .CustomNotifyPlugin import CustomNotifyPlugin +from .base import CustomNotifyPlugin def notify(on, name=None): diff --git a/libs/apprise/i18n/en/LC_MESSAGES/apprise.mo b/libs/apprise/i18n/en/LC_MESSAGES/apprise.mo index 1d22b89a68a0bcb2532b945c30a51bab4eccad96..f108b538df44a22b2a18b2bb6140e8554b0428c1 100644 GIT binary patch delta 14 Vcmew^_g!v7HaDa3<{WNr762`h1ik((?!_)[A-Za-z0-9]+))$') + # thread safe loading _lock = threading.Lock() @@ -177,7 +180,7 @@ def load_modules(self, path=None, name=None, force=False): # The .py extension is optional as we support loading directories # too module_re = re.compile( - r'^(?P' + self.fname_prefix + r'[a-z0-9]+)(\.py)?$', + r'^(?P(?!base|_)[a-z0-9_]+)(\.py)?$', re.I) t_start = time.time() @@ -188,10 +191,6 @@ def load_modules(self, path=None, name=None, force=False): # keep going continue - elif match.group('name') == f'{self.fname_prefix}Base': - # keep going - continue - # Store our notification/plugin name: module_name = match.group('name') module_pyname = '{}.{}'.format(module_name_prefix, module_name) @@ -216,7 +215,47 @@ def load_modules(self, path=None, name=None, force=False): # logging found in import_module and not needed here continue - if not hasattr(module, module_name): + module_class = None + for m_class in [obj for obj in dir(module) + if self.module_filter_re.match(obj)]: + # Get our plugin + plugin = getattr(module, m_class) + if not hasattr(plugin, 'app_id'): + # Filter out non-notification modules + logger.trace( + "(%s) import failed; no app_id defined in %s", + self.name, m_class, os.path.join(module_path, f)) + continue + + # Add our plugin name to our module map + self._module_map[module_name] = { + 'plugin': set([plugin]), + 'module': module, + 'path': '{}.{}'.format( + module_name_prefix, module_name), + 'native': True, + } + + fn = getattr(plugin, 'schemas', None) + schemas = set([]) if not callable(fn) else fn(plugin) + + # map our schema to our plugin + for schema in schemas: + if schema in self._schema_map: + logger.error( + "{} schema ({}) mismatch detected - {} to {}" + .format(self.name, schema, self._schema_map, + plugin)) + continue + + # Assign plugin + self._schema_map[schema] = plugin + + # Store our class + module_class = m_class + break + + if not module_class: # Not a library we can load as it doesn't follow the simple # rule that the class must bear the same name as the # notification file itself. @@ -226,38 +265,6 @@ def load_modules(self, path=None, name=None, force=False): self.name, module_name, os.path.join(module_path, f)) continue - # Get our plugin - plugin = getattr(module, module_name) - if not hasattr(plugin, 'app_id'): - # Filter out non-notification modules - logger.trace( - "(%s) import failed; no app_id defined in %s", - self.name, module_name, os.path.join(module_path, f)) - continue - - # Add our plugin name to our module map - self._module_map[module_name] = { - 'plugin': set([plugin]), - 'module': module, - 'path': '{}.{}'.format(module_name_prefix, module_name), - 'native': True, - } - - fn = getattr(plugin, 'schemas', None) - schemas = set([]) if not callable(fn) else fn(plugin) - - # map our schema to our plugin - for schema in schemas: - if schema in self._schema_map: - logger.error( - "{} schema ({}) mismatch detected - {} to {}" - .format(self.name, schema, self._schema_map, - plugin)) - continue - - # Assign plugin - self._schema_map[schema] = plugin - logger.trace( '{} {} loaded in {:.6f}s'.format( self.name, module_name, (time.time() - tl_start))) diff --git a/libs/apprise/AttachmentManager.py b/libs/apprise/manager_attachment.py similarity index 93% rename from libs/apprise/AttachmentManager.py rename to libs/apprise/manager_attachment.py index d296a4996..d1288a943 100644 --- a/libs/apprise/AttachmentManager.py +++ b/libs/apprise/manager_attachment.py @@ -26,6 +26,7 @@ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. +import re from os.path import dirname from os.path import abspath from os.path import join @@ -52,3 +53,7 @@ class AttachmentManager(PluginManager): # The module path to scan module_path = join(abspath(dirname(__file__)), _id) + + # For filtering our result set + module_filter_re = re.compile( + r'^(?P' + fname_prefix + r'(?!Base)[A-Za-z0-9]+)$') diff --git a/libs/apprise/ConfigurationManager.py b/libs/apprise/manager_config.py similarity index 93% rename from libs/apprise/ConfigurationManager.py rename to libs/apprise/manager_config.py index 6696895b9..69a6bedb9 100644 --- a/libs/apprise/ConfigurationManager.py +++ b/libs/apprise/manager_config.py @@ -26,6 +26,7 @@ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. +import re from os.path import dirname from os.path import abspath from os.path import join @@ -52,3 +53,7 @@ class ConfigurationManager(PluginManager): # The module path to scan module_path = join(abspath(dirname(__file__)), _id) + + # For filtering our result set + module_filter_re = re.compile( + r'^(?P' + fname_prefix + r'(?!Base)[A-Za-z0-9]+)$') diff --git a/libs/apprise/NotificationManager.py b/libs/apprise/manager_plugins.py similarity index 92% rename from libs/apprise/NotificationManager.py rename to libs/apprise/manager_plugins.py index abbbdd203..74ed370ea 100644 --- a/libs/apprise/NotificationManager.py +++ b/libs/apprise/manager_plugins.py @@ -26,6 +26,7 @@ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. +import re from os.path import dirname from os.path import abspath from os.path import join @@ -52,3 +53,8 @@ class NotificationManager(PluginManager): # The module path to scan module_path = join(abspath(dirname(__file__)), _id) + + # For filtering our result set + module_filter_re = re.compile( + r'^(?P' + fname_prefix + + r'(?!Base|ImageSize|Type)[A-Za-z0-9]+)$') diff --git a/libs/apprise/plugins/__init__.py b/libs/apprise/plugins/__init__.py index 72cb08fbf..bfce14371 100644 --- a/libs/apprise/plugins/__init__.py +++ b/libs/apprise/plugins/__init__.py @@ -30,7 +30,7 @@ import copy # Used for testing -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyImageSize from ..common import NOTIFY_IMAGE_SIZES @@ -40,9 +40,9 @@ from ..utils import cwe312_url from ..utils import GET_SCHEMA_RE from ..logger import logger -from ..AppriseLocale import gettext_lazy as _ -from ..AppriseLocale import LazyTranslation -from ..NotificationManager import NotificationManager +from ..locale import gettext_lazy as _ +from ..locale import LazyTranslation +from ..manager_plugins import NotificationManager # Grant access to our Notification Manager Singleton diff --git a/libs/apprise/plugins/NotifyAppriseAPI.py b/libs/apprise/plugins/apprise_api.py similarity index 99% rename from libs/apprise/plugins/NotifyAppriseAPI.py rename to libs/apprise/plugins/apprise_api.py index 34c34a6d4..fd71236b5 100644 --- a/libs/apprise/plugins/NotifyAppriseAPI.py +++ b/libs/apprise/plugins/apprise_api.py @@ -31,12 +31,12 @@ from json import dumps import base64 -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyType from ..utils import parse_list from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class AppriseAPIMethod: @@ -123,7 +123,7 @@ class NotifyAppriseAPI(NotifyBase): 'type': 'string', 'required': True, 'private': True, - 'regex': (r'^[A-Z0-9_-]{1,32}$', 'i'), + 'regex': (r'^[A-Z0-9_-]{1,128}$', 'i'), }, }) diff --git a/libs/apprise/plugins/NotifyAprs.py b/libs/apprise/plugins/aprs.py similarity index 99% rename from libs/apprise/plugins/NotifyAprs.py rename to libs/apprise/plugins/aprs.py index 5d8c3c100..b8adef5aa 100644 --- a/libs/apprise/plugins/NotifyAprs.py +++ b/libs/apprise/plugins/aprs.py @@ -70,9 +70,9 @@ import socket import sys from itertools import chain -from .NotifyBase import NotifyBase -from ..AppriseLocale import gettext_lazy as _ -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..locale import gettext_lazy as _ +from ..url import PrivacyMode from ..common import NotifyType from ..utils import is_call_sign from ..utils import parse_call_sign diff --git a/libs/apprise/plugins/NotifyBark.py b/libs/apprise/plugins/bark.py similarity index 99% rename from libs/apprise/plugins/NotifyBark.py rename to libs/apprise/plugins/bark.py index 781a1515e..e2f5bbfb4 100644 --- a/libs/apprise/plugins/NotifyBark.py +++ b/libs/apprise/plugins/bark.py @@ -32,13 +32,13 @@ import requests import json -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyImageSize from ..common import NotifyType from ..utils import parse_list from ..utils import parse_bool -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # Sounds generated off of: https://github.com/Finb/Bark/tree/master/Sounds diff --git a/libs/apprise/plugins/NotifyBase.py b/libs/apprise/plugins/base.py similarity index 99% rename from libs/apprise/plugins/NotifyBase.py rename to libs/apprise/plugins/base.py index c29417c60..1abc3410e 100644 --- a/libs/apprise/plugins/NotifyBase.py +++ b/libs/apprise/plugins/base.py @@ -30,7 +30,7 @@ import re from functools import partial -from ..URLBase import URLBase +from ..url import URLBase from ..common import NotifyType from ..utils import parse_bool from ..common import NOTIFY_TYPES @@ -38,8 +38,8 @@ from ..common import NOTIFY_FORMATS from ..common import OverflowMode from ..common import OVERFLOW_MODES -from ..AppriseLocale import gettext_lazy as _ -from ..AppriseAttachment import AppriseAttachment +from ..locale import gettext_lazy as _ +from ..apprise_attachment import AppriseAttachment class NotifyBase(URLBase): diff --git a/libs/apprise/plugins/NotifyBase.pyi b/libs/apprise/plugins/base.pyi similarity index 100% rename from libs/apprise/plugins/NotifyBase.pyi rename to libs/apprise/plugins/base.pyi diff --git a/libs/apprise/plugins/NotifyBoxcar.py b/libs/apprise/plugins/boxcar.py similarity index 99% rename from libs/apprise/plugins/NotifyBoxcar.py rename to libs/apprise/plugins/boxcar.py index 808920ed5..851cdd3d8 100644 --- a/libs/apprise/plugins/NotifyBoxcar.py +++ b/libs/apprise/plugins/boxcar.py @@ -35,14 +35,14 @@ from itertools import chain from urllib.parse import urlparse -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..utils import parse_bool from ..utils import parse_list from ..utils import validate_regex from ..common import NotifyType from ..common import NotifyImageSize -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # Default to sending to all devices if nothing is specified DEFAULT_TAG = '@all' diff --git a/libs/apprise/plugins/NotifyBulkSMS.py b/libs/apprise/plugins/bulksms.py similarity index 99% rename from libs/apprise/plugins/NotifyBulkSMS.py rename to libs/apprise/plugins/bulksms.py index 33664fb00..29c4d7fac 100644 --- a/libs/apprise/plugins/NotifyBulkSMS.py +++ b/libs/apprise/plugins/bulksms.py @@ -36,13 +36,13 @@ import requests import json from itertools import chain -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyType from ..utils import is_phone_no from ..utils import parse_phone_no from ..utils import parse_bool -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ IS_GROUP_RE = re.compile( diff --git a/libs/apprise/plugins/NotifyBulkVS.py b/libs/apprise/plugins/bulkvs.py similarity index 99% rename from libs/apprise/plugins/NotifyBulkVS.py rename to libs/apprise/plugins/bulkvs.py index e912dff25..53a363008 100644 --- a/libs/apprise/plugins/NotifyBulkVS.py +++ b/libs/apprise/plugins/bulkvs.py @@ -35,13 +35,13 @@ # Messaging/post_messageSend import requests import json -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyType from ..utils import is_phone_no from ..utils import parse_phone_no from ..utils import parse_bool -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class NotifyBulkVS(NotifyBase): diff --git a/libs/apprise/plugins/NotifyBurstSMS.py b/libs/apprise/plugins/burstsms.py similarity index 99% rename from libs/apprise/plugins/NotifyBurstSMS.py rename to libs/apprise/plugins/burstsms.py index 39606abba..eb19df8e4 100644 --- a/libs/apprise/plugins/NotifyBurstSMS.py +++ b/libs/apprise/plugins/burstsms.py @@ -33,14 +33,14 @@ # import requests -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyType from ..utils import is_phone_no from ..utils import parse_phone_no from ..utils import parse_bool from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class BurstSMSCountryCode: diff --git a/libs/apprise/plugins/NotifyChantify.py b/libs/apprise/plugins/chantify.py similarity index 98% rename from libs/apprise/plugins/NotifyChantify.py rename to libs/apprise/plugins/chantify.py index d912bd257..d549a59fa 100644 --- a/libs/apprise/plugins/NotifyChantify.py +++ b/libs/apprise/plugins/chantify.py @@ -35,10 +35,10 @@ import requests -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class NotifyChantify(NotifyBase): diff --git a/libs/apprise/plugins/NotifyClickSend.py b/libs/apprise/plugins/clicksend.py similarity index 94% rename from libs/apprise/plugins/NotifyClickSend.py rename to libs/apprise/plugins/clicksend.py index 5e345fe10..9ade1055e 100644 --- a/libs/apprise/plugins/NotifyClickSend.py +++ b/libs/apprise/plugins/clicksend.py @@ -41,15 +41,14 @@ # import requests from json import dumps -from base64 import b64encode -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyType from ..utils import is_phone_no from ..utils import parse_phone_no from ..utils import parse_bool -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # Extend HTTP Error Messages CLICKSEND_HTTP_ERROR_MAP = { @@ -89,7 +88,7 @@ class NotifyClickSend(NotifyBase): # Define object templates templates = ( - '{schema}://{user}:{password}@{targets}', + '{schema}://{user}:{apikey}@{targets}', ) # Define our template tokens @@ -99,11 +98,12 @@ class NotifyClickSend(NotifyBase): 'type': 'string', 'required': True, }, - 'password': { - 'name': _('Password'), + 'apikey': { + 'name': _('API Key'), 'type': 'string', 'private': True, 'required': True, + 'map_to': 'password', }, 'target_phone': { 'name': _('Target Phone No'), @@ -124,6 +124,9 @@ class NotifyClickSend(NotifyBase): 'to': { 'alias_of': 'targets', }, + 'key': { + 'alias_of': 'apikey', + }, 'batch': { 'name': _('Batch Mode'), 'type': 'bool', @@ -174,9 +177,6 @@ def send(self, body, title='', notify_type=NotifyType.INFO, **kwargs): headers = { 'User-Agent': self.app_id, 'Content-Type': 'application/json; charset=utf-8', - 'Authorization': 'Basic {}'.format( - b64encode('{}:{}'.format( - self.user, self.password).encode('utf-8'))), } # error tracking (used for function return) @@ -208,6 +208,7 @@ def send(self, body, title='', notify_type=NotifyType.INFO, **kwargs): r = requests.post( self.notify_url, data=dumps(payload), + auth=(self.user, self.password), headers=headers, verify=self.verify_certificate, timeout=self.request_timeout, @@ -322,6 +323,12 @@ def parse_url(url): results['batch'] = \ parse_bool(results['qsd'].get('batch', False)) + # API Key + if 'key' in results['qsd'] and len(results['qsd']['key']): + # Extract the API Key from an argument + results['password'] = \ + NotifyClickSend.unquote(results['qsd']['key']) + # Support the 'to' variable so that we can support rooms this way too # The 'to' makes it easier to use yaml configuration if 'to' in results['qsd'] and len(results['qsd']['to']): diff --git a/libs/apprise/plugins/NotifyForm.py b/libs/apprise/plugins/custom_form.py similarity index 99% rename from libs/apprise/plugins/NotifyForm.py rename to libs/apprise/plugins/custom_form.py index 9690cd4f5..0f36643f7 100644 --- a/libs/apprise/plugins/NotifyForm.py +++ b/libs/apprise/plugins/custom_form.py @@ -29,11 +29,11 @@ import re import requests -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyImageSize from ..common import NotifyType -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class FORMPayloadField: diff --git a/libs/apprise/plugins/NotifyJSON.py b/libs/apprise/plugins/custom_json.py similarity index 99% rename from libs/apprise/plugins/NotifyJSON.py rename to libs/apprise/plugins/custom_json.py index 182ff77cf..e0d7a6753 100644 --- a/libs/apprise/plugins/NotifyJSON.py +++ b/libs/apprise/plugins/custom_json.py @@ -30,11 +30,11 @@ import base64 from json import dumps -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyImageSize from ..common import NotifyType -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class JSONPayloadField: diff --git a/libs/apprise/plugins/NotifyXML.py b/libs/apprise/plugins/custom_xml.py similarity index 99% rename from libs/apprise/plugins/NotifyXML.py rename to libs/apprise/plugins/custom_xml.py index 21ccb79d3..b7928fceb 100644 --- a/libs/apprise/plugins/NotifyXML.py +++ b/libs/apprise/plugins/custom_xml.py @@ -30,11 +30,11 @@ import requests import base64 -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyImageSize from ..common import NotifyType -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class XMLPayloadField: diff --git a/libs/apprise/plugins/NotifyD7Networks.py b/libs/apprise/plugins/d7networks.py similarity index 99% rename from libs/apprise/plugins/NotifyD7Networks.py rename to libs/apprise/plugins/d7networks.py index 906ec2fb9..ad55e2197 100644 --- a/libs/apprise/plugins/NotifyD7Networks.py +++ b/libs/apprise/plugins/d7networks.py @@ -39,13 +39,13 @@ from json import dumps from json import loads -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..utils import is_phone_no from ..utils import parse_phone_no from ..utils import validate_regex from ..utils import parse_bool -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # Extend HTTP Error Messages D7NETWORKS_HTTP_ERROR_MAP = { diff --git a/libs/apprise/plugins/NotifyDapnet.py b/libs/apprise/plugins/dapnet.py similarity index 99% rename from libs/apprise/plugins/NotifyDapnet.py rename to libs/apprise/plugins/dapnet.py index ae7199c94..60a18acd4 100644 --- a/libs/apprise/plugins/NotifyDapnet.py +++ b/libs/apprise/plugins/dapnet.py @@ -51,9 +51,9 @@ import requests from requests.auth import HTTPBasicAuth -from .NotifyBase import NotifyBase -from ..AppriseLocale import gettext_lazy as _ -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..locale import gettext_lazy as _ +from ..url import PrivacyMode from ..common import NotifyType from ..utils import is_call_sign from ..utils import parse_call_sign diff --git a/libs/apprise/plugins/NotifyDBus.py b/libs/apprise/plugins/dbus.py similarity index 99% rename from libs/apprise/plugins/NotifyDBus.py rename to libs/apprise/plugins/dbus.py index 52e119813..f2361fd62 100644 --- a/libs/apprise/plugins/NotifyDBus.py +++ b/libs/apprise/plugins/dbus.py @@ -27,11 +27,11 @@ # POSSIBILITY OF SUCH DAMAGE. import sys -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyImageSize from ..common import NotifyType from ..utils import parse_bool -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # Default our global support flag NOTIFY_DBUS_SUPPORT_ENABLED = False diff --git a/libs/apprise/plugins/NotifyDingTalk.py b/libs/apprise/plugins/dingtalk.py similarity index 99% rename from libs/apprise/plugins/NotifyDingTalk.py rename to libs/apprise/plugins/dingtalk.py index d4a492fc7..2ca1bc55b 100644 --- a/libs/apprise/plugins/NotifyDingTalk.py +++ b/libs/apprise/plugins/dingtalk.py @@ -34,13 +34,13 @@ import requests from json import dumps -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyFormat from ..common import NotifyType from ..utils import parse_list from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # Register at https://dingtalk.com # - Download their PC based software as it is the only way you can create diff --git a/libs/apprise/plugins/NotifyDiscord.py b/libs/apprise/plugins/discord.py similarity index 99% rename from libs/apprise/plugins/NotifyDiscord.py rename to libs/apprise/plugins/discord.py index 82d764f50..14c6152ba 100644 --- a/libs/apprise/plugins/NotifyDiscord.py +++ b/libs/apprise/plugins/discord.py @@ -50,14 +50,14 @@ from datetime import datetime from datetime import timezone -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyImageSize from ..common import NotifyFormat from ..common import NotifyType from ..utils import parse_bool from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ -from ..attachment.AttachBase import AttachBase +from ..locale import gettext_lazy as _ +from ..attachment.base import AttachBase # Used to detect user/role IDs diff --git a/libs/apprise/plugins/NotifyEmail.py b/libs/apprise/plugins/email.py similarity index 98% rename from libs/apprise/plugins/NotifyEmail.py rename to libs/apprise/plugins/email.py index 80f88bf61..142c93cfb 100644 --- a/libs/apprise/plugins/NotifyEmail.py +++ b/libs/apprise/plugins/email.py @@ -41,12 +41,12 @@ from datetime import datetime from datetime import timezone -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyFormat, NotifyType from ..conversion import convert_between -from ..utils import is_email, parse_emails, is_hostname -from ..AppriseLocale import gettext_lazy as _ +from ..utils import is_ipaddr, is_email, parse_emails, is_hostname +from ..locale import gettext_lazy as _ from ..logger import logger # Globally Default encoding mode set to Quoted Printable. @@ -1053,8 +1053,12 @@ def parse_url(url): # Prepare our target lists results['targets'] = [] - if not is_hostname(results['host'], ipv4=False, ipv6=False, - underscore=False): + if is_ipaddr(results['host']): + # Silently move on and do not disrupt any configuration + pass + + elif not is_hostname(results['host'], ipv4=False, ipv6=False, + underscore=False): if is_email(NotifyEmail.unquote(results['host'])): # Don't lose defined email addresses diff --git a/libs/apprise/plugins/NotifyEmby.py b/libs/apprise/plugins/emby.py similarity index 99% rename from libs/apprise/plugins/NotifyEmby.py rename to libs/apprise/plugins/emby.py index ce96553a2..5e4e0b89f 100644 --- a/libs/apprise/plugins/NotifyEmby.py +++ b/libs/apprise/plugins/emby.py @@ -34,12 +34,12 @@ from json import dumps from json import loads -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..utils import parse_bool from ..common import NotifyType from .. import __version__ as VERSION -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class NotifyEmby(NotifyBase): diff --git a/libs/apprise/plugins/NotifyEnigma2.py b/libs/apprise/plugins/enigma2.py similarity index 98% rename from libs/apprise/plugins/NotifyEnigma2.py rename to libs/apprise/plugins/enigma2.py index 313149993..8b1fff687 100644 --- a/libs/apprise/plugins/NotifyEnigma2.py +++ b/libs/apprise/plugins/enigma2.py @@ -37,10 +37,10 @@ import requests from json import loads -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyType -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class Enigma2MessageType: diff --git a/libs/apprise/plugins/NotifyFCM/__init__.py b/libs/apprise/plugins/fcm/__init__.py similarity index 99% rename from libs/apprise/plugins/NotifyFCM/__init__.py rename to libs/apprise/plugins/fcm/__init__.py index 54b6c9cc7..9dc0679f1 100644 --- a/libs/apprise/plugins/NotifyFCM/__init__.py +++ b/libs/apprise/plugins/fcm/__init__.py @@ -50,15 +50,15 @@ # You will need this in order to send an apprise messag import requests from json import dumps -from ..NotifyBase import NotifyBase +from ..base import NotifyBase from ...common import NotifyType from ...utils import validate_regex from ...utils import parse_list from ...utils import parse_bool from ...utils import dict_full_update from ...common import NotifyImageSize -from ...AppriseAttachment import AppriseAttachment -from ...AppriseLocale import gettext_lazy as _ +from ...apprise_attachment import AppriseAttachment +from ...locale import gettext_lazy as _ from .common import (FCMMode, FCM_MODES) from .priority import (FCM_PRIORITIES, FCMPriorityManager) from .color import FCMColorManager diff --git a/libs/apprise/plugins/NotifyFCM/color.py b/libs/apprise/plugins/fcm/color.py similarity index 99% rename from libs/apprise/plugins/NotifyFCM/color.py rename to libs/apprise/plugins/fcm/color.py index c7da209a7..20149eedd 100644 --- a/libs/apprise/plugins/NotifyFCM/color.py +++ b/libs/apprise/plugins/fcm/color.py @@ -36,7 +36,7 @@ import re from ...utils import parse_bool from ...common import NotifyType -from ...AppriseAsset import AppriseAsset +from ...asset import AppriseAsset class FCMColorManager: diff --git a/libs/apprise/plugins/NotifyFCM/common.py b/libs/apprise/plugins/fcm/common.py similarity index 100% rename from libs/apprise/plugins/NotifyFCM/common.py rename to libs/apprise/plugins/fcm/common.py diff --git a/libs/apprise/plugins/NotifyFCM/oauth.py b/libs/apprise/plugins/fcm/oauth.py similarity index 100% rename from libs/apprise/plugins/NotifyFCM/oauth.py rename to libs/apprise/plugins/fcm/oauth.py diff --git a/libs/apprise/plugins/NotifyFCM/priority.py b/libs/apprise/plugins/fcm/priority.py similarity index 100% rename from libs/apprise/plugins/NotifyFCM/priority.py rename to libs/apprise/plugins/fcm/priority.py diff --git a/libs/apprise/plugins/NotifyFeishu.py b/libs/apprise/plugins/feishu.py similarity index 98% rename from libs/apprise/plugins/NotifyFeishu.py rename to libs/apprise/plugins/feishu.py index e6988333c..961523bab 100644 --- a/libs/apprise/plugins/NotifyFeishu.py +++ b/libs/apprise/plugins/feishu.py @@ -36,10 +36,10 @@ import requests from json import dumps -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class NotifyFeishu(NotifyBase): diff --git a/libs/apprise/plugins/NotifyFlock.py b/libs/apprise/plugins/flock.py similarity index 99% rename from libs/apprise/plugins/NotifyFlock.py rename to libs/apprise/plugins/flock.py index f1d12067e..bf2cd131d 100644 --- a/libs/apprise/plugins/NotifyFlock.py +++ b/libs/apprise/plugins/flock.py @@ -44,14 +44,14 @@ import requests from json import dumps -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..common import NotifyFormat from ..common import NotifyImageSize from ..utils import parse_list from ..utils import parse_bool from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # Extend HTTP Error Messages diff --git a/libs/apprise/plugins/NotifyFreeMobile.py b/libs/apprise/plugins/freemobile.py similarity index 98% rename from libs/apprise/plugins/NotifyFreeMobile.py rename to libs/apprise/plugins/freemobile.py index 4aad8db3d..4ff3d4822 100644 --- a/libs/apprise/plugins/NotifyFreeMobile.py +++ b/libs/apprise/plugins/freemobile.py @@ -36,9 +36,9 @@ import requests from json import dumps -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class NotifyFreeMobile(NotifyBase): @@ -126,6 +126,7 @@ def send(self, body, title='', notify_type=NotifyType.INFO, **kwargs): # prepare our headers headers = { 'User-Agent': self.app_id, + 'Content-Type': 'application/json', } # Prepare our payload diff --git a/libs/apprise/plugins/NotifyGnome.py b/libs/apprise/plugins/gnome.py similarity index 99% rename from libs/apprise/plugins/NotifyGnome.py rename to libs/apprise/plugins/gnome.py index 67129216d..b64b51304 100644 --- a/libs/apprise/plugins/NotifyGnome.py +++ b/libs/apprise/plugins/gnome.py @@ -26,11 +26,11 @@ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyImageSize from ..common import NotifyType from ..utils import parse_bool -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # Default our global support flag NOTIFY_GNOME_SUPPORT_ENABLED = False diff --git a/libs/apprise/plugins/NotifyGoogleChat.py b/libs/apprise/plugins/google_chat.py similarity index 99% rename from libs/apprise/plugins/NotifyGoogleChat.py rename to libs/apprise/plugins/google_chat.py index d2a6cc8a8..f30cdae49 100644 --- a/libs/apprise/plugins/NotifyGoogleChat.py +++ b/libs/apprise/plugins/google_chat.py @@ -58,11 +58,11 @@ import requests from json import dumps -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyFormat from ..common import NotifyType from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class NotifyGoogleChat(NotifyBase): diff --git a/libs/apprise/plugins/NotifyGotify.py b/libs/apprise/plugins/gotify.py similarity index 99% rename from libs/apprise/plugins/NotifyGotify.py rename to libs/apprise/plugins/gotify.py index 3f4ce132d..bf6c1b281 100644 --- a/libs/apprise/plugins/NotifyGotify.py +++ b/libs/apprise/plugins/gotify.py @@ -34,10 +34,10 @@ import requests from json import dumps -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType, NotifyFormat from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # Priorities diff --git a/libs/apprise/plugins/NotifyGrowl.py b/libs/apprise/plugins/growl.py similarity index 99% rename from libs/apprise/plugins/NotifyGrowl.py rename to libs/apprise/plugins/growl.py index 0b42e3bec..0b3672188 100644 --- a/libs/apprise/plugins/NotifyGrowl.py +++ b/libs/apprise/plugins/growl.py @@ -26,12 +26,12 @@ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyImageSize from ..common import NotifyType from ..utils import parse_bool -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # Default our global support flag NOTIFY_GROWL_SUPPORT_ENABLED = False diff --git a/libs/apprise/plugins/NotifyGuilded.py b/libs/apprise/plugins/guilded.py similarity index 96% rename from libs/apprise/plugins/NotifyGuilded.py rename to libs/apprise/plugins/guilded.py index 0ea36d9f8..0ee07018e 100644 --- a/libs/apprise/plugins/NotifyGuilded.py +++ b/libs/apprise/plugins/guilded.py @@ -45,10 +45,11 @@ # import re -from .NotifyDiscord import NotifyDiscord +# Import namespace so the class won't conflict with the actual Notify object +from . import discord -class NotifyGuilded(NotifyDiscord): +class NotifyGuilded(discord.NotifyDiscord): """ A wrapper to Guilded Notifications diff --git a/libs/apprise/plugins/NotifyHomeAssistant.py b/libs/apprise/plugins/home_assistant.py similarity index 98% rename from libs/apprise/plugins/NotifyHomeAssistant.py rename to libs/apprise/plugins/home_assistant.py index 0829381b9..b0ffcaa64 100644 --- a/libs/apprise/plugins/NotifyHomeAssistant.py +++ b/libs/apprise/plugins/home_assistant.py @@ -34,11 +34,11 @@ from uuid import uuid4 -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyType from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class NotifyHomeAssistant(NotifyBase): diff --git a/libs/apprise/plugins/NotifyHttpSMS.py b/libs/apprise/plugins/httpsms.py similarity index 99% rename from libs/apprise/plugins/NotifyHttpSMS.py rename to libs/apprise/plugins/httpsms.py index 647100949..b36e286d7 100644 --- a/libs/apprise/plugins/NotifyHttpSMS.py +++ b/libs/apprise/plugins/httpsms.py @@ -31,12 +31,12 @@ # https://httpsms.com import requests import json -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..utils import is_phone_no from ..utils import parse_phone_no from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class NotifyHttpSMS(NotifyBase): diff --git a/libs/apprise/plugins/NotifyIFTTT.py b/libs/apprise/plugins/ifttt.py similarity index 99% rename from libs/apprise/plugins/NotifyIFTTT.py rename to libs/apprise/plugins/ifttt.py index 9174640d0..9d89b1464 100644 --- a/libs/apprise/plugins/NotifyIFTTT.py +++ b/libs/apprise/plugins/ifttt.py @@ -44,11 +44,11 @@ import requests from json import dumps -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..utils import parse_list from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class NotifyIFTTT(NotifyBase): diff --git a/libs/apprise/plugins/NotifyJoin.py b/libs/apprise/plugins/join.py similarity index 99% rename from libs/apprise/plugins/NotifyJoin.py rename to libs/apprise/plugins/join.py index c6b0d91e9..b92bb37a3 100644 --- a/libs/apprise/plugins/NotifyJoin.py +++ b/libs/apprise/plugins/join.py @@ -39,13 +39,13 @@ import re import requests -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyImageSize from ..common import NotifyType from ..utils import parse_list from ..utils import parse_bool from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # Extend HTTP Error Messages JOIN_HTTP_ERROR_MAP = { diff --git a/libs/apprise/plugins/NotifyKavenegar.py b/libs/apprise/plugins/kavenegar.py similarity index 99% rename from libs/apprise/plugins/NotifyKavenegar.py rename to libs/apprise/plugins/kavenegar.py index 2a9c169d7..e4963f409 100644 --- a/libs/apprise/plugins/NotifyKavenegar.py +++ b/libs/apprise/plugins/kavenegar.py @@ -38,12 +38,12 @@ import requests from json import loads -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..utils import is_phone_no from ..utils import parse_phone_no from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # Extend HTTP Error Messages # Based on https://kavenegar.com/rest.html diff --git a/libs/apprise/plugins/NotifyKumulos.py b/libs/apprise/plugins/kumulos.py similarity index 99% rename from libs/apprise/plugins/NotifyKumulos.py rename to libs/apprise/plugins/kumulos.py index da372e773..504dcc379 100644 --- a/libs/apprise/plugins/NotifyKumulos.py +++ b/libs/apprise/plugins/kumulos.py @@ -39,10 +39,10 @@ import requests from json import dumps -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # Extend HTTP Error Messages KUMULOS_HTTP_ERROR_MAP = { diff --git a/libs/apprise/plugins/NotifyLametric.py b/libs/apprise/plugins/lametric.py similarity index 99% rename from libs/apprise/plugins/NotifyLametric.py rename to libs/apprise/plugins/lametric.py index 5825d9176..411b9ea21 100644 --- a/libs/apprise/plugins/NotifyLametric.py +++ b/libs/apprise/plugins/lametric.py @@ -90,10 +90,10 @@ import re import requests from json import dumps -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ from ..utils import is_hostname from ..utils import is_ipaddr diff --git a/libs/apprise/plugins/NotifyLine.py b/libs/apprise/plugins/line.py similarity index 98% rename from libs/apprise/plugins/NotifyLine.py rename to libs/apprise/plugins/line.py index 61e4f3703..07a01e769 100644 --- a/libs/apprise/plugins/NotifyLine.py +++ b/libs/apprise/plugins/line.py @@ -33,14 +33,14 @@ import re from json import dumps -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyType from ..common import NotifyImageSize from ..utils import validate_regex from ..utils import parse_list from ..utils import parse_bool -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # Used to break path apart into list of streams diff --git a/libs/apprise/plugins/NotifyLunaSea.py b/libs/apprise/plugins/lunasea.py similarity index 99% rename from libs/apprise/plugins/NotifyLunaSea.py rename to libs/apprise/plugins/lunasea.py index 51d820915..2af519179 100644 --- a/libs/apprise/plugins/NotifyLunaSea.py +++ b/libs/apprise/plugins/lunasea.py @@ -33,15 +33,15 @@ import requests from json import dumps -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..common import NotifyImageSize from ..utils import parse_list from ..utils import is_hostname from ..utils import is_ipaddr from ..utils import parse_bool -from ..AppriseLocale import gettext_lazy as _ -from ..URLBase import PrivacyMode +from ..locale import gettext_lazy as _ +from ..url import PrivacyMode class LunaSeaMode: diff --git a/libs/apprise/plugins/NotifyMacOSX.py b/libs/apprise/plugins/macosx.py similarity index 99% rename from libs/apprise/plugins/NotifyMacOSX.py rename to libs/apprise/plugins/macosx.py index dd53369fe..31b7101bd 100644 --- a/libs/apprise/plugins/NotifyMacOSX.py +++ b/libs/apprise/plugins/macosx.py @@ -30,11 +30,11 @@ import subprocess import os -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyImageSize from ..common import NotifyType from ..utils import parse_bool -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # Default our global support flag NOTIFY_MACOSX_SUPPORT_ENABLED = False diff --git a/libs/apprise/plugins/NotifyMailgun.py b/libs/apprise/plugins/mailgun.py similarity index 99% rename from libs/apprise/plugins/NotifyMailgun.py rename to libs/apprise/plugins/mailgun.py index 82cf970bf..69ab72dda 100644 --- a/libs/apprise/plugins/NotifyMailgun.py +++ b/libs/apprise/plugins/mailgun.py @@ -56,7 +56,7 @@ # import requests from email.utils import formataddr -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..common import NotifyFormat from ..utils import parse_emails @@ -64,7 +64,7 @@ from ..utils import is_email from ..utils import validate_regex from ..logger import logger -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # Provide some known codes Mailgun uses and what they translate to: # Based on https://documentation.mailgun.com/en/latest/api-intro.html#errors diff --git a/libs/apprise/plugins/NotifyMastodon.py b/libs/apprise/plugins/mastodon.py similarity index 99% rename from libs/apprise/plugins/NotifyMastodon.py rename to libs/apprise/plugins/mastodon.py index 0d2f27df3..b6e451ad1 100644 --- a/libs/apprise/plugins/NotifyMastodon.py +++ b/libs/apprise/plugins/mastodon.py @@ -33,16 +33,16 @@ from datetime import datetime from datetime import timezone -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyImageSize from ..common import NotifyFormat from ..common import NotifyType from ..utils import parse_list from ..utils import parse_bool from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ -from ..attachment.AttachBase import AttachBase +from ..locale import gettext_lazy as _ +from ..attachment.base import AttachBase # Accept: # - @username diff --git a/libs/apprise/plugins/NotifyMatrix.py b/libs/apprise/plugins/matrix.py similarity index 99% rename from libs/apprise/plugins/NotifyMatrix.py rename to libs/apprise/plugins/matrix.py index 594274761..c1401f238 100644 --- a/libs/apprise/plugins/NotifyMatrix.py +++ b/libs/apprise/plugins/matrix.py @@ -37,8 +37,8 @@ from json import loads from time import time -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyType from ..common import NotifyImageSize from ..common import NotifyFormat @@ -46,7 +46,7 @@ from ..utils import parse_list from ..utils import is_hostname from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # Define default path MATRIX_V1_WEBHOOK_PATH = '/api/v1/matrix/hook' diff --git a/libs/apprise/plugins/NotifyMattermost.py b/libs/apprise/plugins/mattermost.py similarity index 99% rename from libs/apprise/plugins/NotifyMattermost.py rename to libs/apprise/plugins/mattermost.py index dbb5f0dd3..481a9b852 100644 --- a/libs/apprise/plugins/NotifyMattermost.py +++ b/libs/apprise/plugins/mattermost.py @@ -39,13 +39,13 @@ import requests from json import dumps -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyImageSize from ..common import NotifyType from ..utils import parse_bool from ..utils import parse_list from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # Some Reference Locations: # - https://docs.mattermost.com/developer/webhooks-incoming.html diff --git a/libs/apprise/plugins/NotifyMessageBird.py b/libs/apprise/plugins/messagebird.py similarity index 99% rename from libs/apprise/plugins/NotifyMessageBird.py rename to libs/apprise/plugins/messagebird.py index 42d880acd..c496d347e 100644 --- a/libs/apprise/plugins/NotifyMessageBird.py +++ b/libs/apprise/plugins/messagebird.py @@ -34,12 +34,12 @@ import requests -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..utils import is_phone_no from ..utils import parse_phone_no from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class NotifyMessageBird(NotifyBase): diff --git a/libs/apprise/plugins/NotifyMisskey.py b/libs/apprise/plugins/misskey.py similarity index 99% rename from libs/apprise/plugins/NotifyMisskey.py rename to libs/apprise/plugins/misskey.py index 8965a0f7b..73b8f7c6e 100644 --- a/libs/apprise/plugins/NotifyMisskey.py +++ b/libs/apprise/plugins/misskey.py @@ -47,10 +47,10 @@ import requests from json import dumps -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class MisskeyVisibility: diff --git a/libs/apprise/plugins/NotifyMQTT.py b/libs/apprise/plugins/mqtt.py similarity index 99% rename from libs/apprise/plugins/NotifyMQTT.py rename to libs/apprise/plugins/mqtt.py index 49380d330..1e09cd147 100644 --- a/libs/apprise/plugins/NotifyMQTT.py +++ b/libs/apprise/plugins/mqtt.py @@ -38,12 +38,12 @@ from time import sleep from datetime import datetime from os.path import isfile -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyType from ..utils import parse_list from ..utils import parse_bool -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # Default our global support flag NOTIFY_MQTT_SUPPORT_ENABLED = False diff --git a/libs/apprise/plugins/NotifyMSG91.py b/libs/apprise/plugins/msg91.py similarity index 99% rename from libs/apprise/plugins/NotifyMSG91.py rename to libs/apprise/plugins/msg91.py index a7bd9c473..28a5bf183 100644 --- a/libs/apprise/plugins/NotifyMSG91.py +++ b/libs/apprise/plugins/msg91.py @@ -38,12 +38,12 @@ import re import requests from json import dumps -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..utils import is_phone_no from ..utils import parse_phone_no, parse_bool from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class MSG91PayloadField: diff --git a/libs/apprise/plugins/NotifyMSTeams.py b/libs/apprise/plugins/msteams.py similarity index 99% rename from libs/apprise/plugins/NotifyMSTeams.py rename to libs/apprise/plugins/msteams.py index 06572c3e6..2e0957f32 100644 --- a/libs/apprise/plugins/NotifyMSTeams.py +++ b/libs/apprise/plugins/msteams.py @@ -81,7 +81,7 @@ import json from json.decoder import JSONDecodeError -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyImageSize from ..common import NotifyType from ..common import NotifyFormat @@ -89,8 +89,8 @@ from ..utils import validate_regex from ..utils import apply_template from ..utils import TemplateType -from ..AppriseAttachment import AppriseAttachment -from ..AppriseLocale import gettext_lazy as _ +from ..apprise_attachment import AppriseAttachment +from ..locale import gettext_lazy as _ class NotifyMSTeams(NotifyBase): diff --git a/libs/apprise/plugins/NotifyNextcloud.py b/libs/apprise/plugins/nextcloud.py similarity index 99% rename from libs/apprise/plugins/NotifyNextcloud.py rename to libs/apprise/plugins/nextcloud.py index fd471d9eb..9acfc43d5 100644 --- a/libs/apprise/plugins/NotifyNextcloud.py +++ b/libs/apprise/plugins/nextcloud.py @@ -28,11 +28,11 @@ import requests -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyType from ..utils import parse_list -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class NotifyNextcloud(NotifyBase): diff --git a/libs/apprise/plugins/NotifyNextcloudTalk.py b/libs/apprise/plugins/nextcloudtalk.py similarity index 98% rename from libs/apprise/plugins/NotifyNextcloudTalk.py rename to libs/apprise/plugins/nextcloudtalk.py index 4bfced282..b1b014770 100644 --- a/libs/apprise/plugins/NotifyNextcloudTalk.py +++ b/libs/apprise/plugins/nextcloudtalk.py @@ -29,11 +29,11 @@ import requests from json import dumps -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyType from ..utils import parse_list -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class NotifyNextcloudTalk(NotifyBase): diff --git a/libs/apprise/plugins/NotifyNotica.py b/libs/apprise/plugins/notica.py similarity index 99% rename from libs/apprise/plugins/NotifyNotica.py rename to libs/apprise/plugins/notica.py index 33a94fc96..661fde1d1 100644 --- a/libs/apprise/plugins/NotifyNotica.py +++ b/libs/apprise/plugins/notica.py @@ -43,11 +43,11 @@ import re import requests -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyType from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class NoticaMode: diff --git a/libs/apprise/plugins/NotifyNotifiarr.py b/libs/apprise/plugins/notifiarr.py similarity index 99% rename from libs/apprise/plugins/NotifyNotifiarr.py rename to libs/apprise/plugins/notifiarr.py index e195cbd32..cc13e1a56 100644 --- a/libs/apprise/plugins/NotifyNotifiarr.py +++ b/libs/apprise/plugins/notifiarr.py @@ -31,9 +31,9 @@ from json import dumps from itertools import chain -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ from ..common import NotifyImageSize from ..utils import parse_list, parse_bool from ..utils import validate_regex diff --git a/libs/apprise/plugins/NotifyNotifico.py b/libs/apprise/plugins/notifico.py similarity index 99% rename from libs/apprise/plugins/NotifyNotifico.py rename to libs/apprise/plugins/notifico.py index 27ce29a6e..5cb0d666e 100644 --- a/libs/apprise/plugins/NotifyNotifico.py +++ b/libs/apprise/plugins/notifico.py @@ -44,11 +44,11 @@ import re import requests -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..utils import parse_bool from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class NotificoFormat: diff --git a/libs/apprise/plugins/NotifyNtfy.py b/libs/apprise/plugins/ntfy.py similarity index 99% rename from libs/apprise/plugins/NotifyNtfy.py rename to libs/apprise/plugins/ntfy.py index 40834eece..805b87260 100644 --- a/libs/apprise/plugins/NotifyNtfy.py +++ b/libs/apprise/plugins/ntfy.py @@ -41,18 +41,18 @@ from json import dumps from os.path import basename -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyFormat from ..common import NotifyType from ..common import NotifyImageSize -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ from ..utils import parse_list from ..utils import parse_bool from ..utils import is_hostname from ..utils import is_ipaddr from ..utils import validate_regex -from ..URLBase import PrivacyMode -from ..attachment.AttachBase import AttachBase +from ..url import PrivacyMode +from ..attachment.base import AttachBase class NtfyMode: diff --git a/libs/apprise/plugins/NotifyOffice365.py b/libs/apprise/plugins/office365.py similarity index 99% rename from libs/apprise/plugins/NotifyOffice365.py rename to libs/apprise/plugins/office365.py index 0c62279f9..b04f7a037 100644 --- a/libs/apprise/plugins/NotifyOffice365.py +++ b/libs/apprise/plugins/office365.py @@ -64,14 +64,14 @@ from datetime import timedelta from json import loads from json import dumps -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyFormat from ..common import NotifyType from ..utils import is_email from ..utils import parse_emails from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class NotifyOffice365(NotifyBase): diff --git a/libs/apprise/plugins/NotifyOneSignal.py b/libs/apprise/plugins/one_signal.py similarity index 99% rename from libs/apprise/plugins/NotifyOneSignal.py rename to libs/apprise/plugins/one_signal.py index eb1e10f7a..76ec212f4 100644 --- a/libs/apprise/plugins/NotifyOneSignal.py +++ b/libs/apprise/plugins/one_signal.py @@ -37,14 +37,14 @@ from json import dumps from itertools import chain -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..common import NotifyImageSize from ..utils import validate_regex from ..utils import parse_list from ..utils import parse_bool from ..utils import is_email -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class OneSignalCategory: diff --git a/libs/apprise/plugins/NotifyOpsgenie.py b/libs/apprise/plugins/opsgenie.py similarity index 99% rename from libs/apprise/plugins/NotifyOpsgenie.py rename to libs/apprise/plugins/opsgenie.py index c2dfed232..5327ec803 100644 --- a/libs/apprise/plugins/NotifyOpsgenie.py +++ b/libs/apprise/plugins/opsgenie.py @@ -49,13 +49,13 @@ import requests from json import dumps -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..utils import validate_regex from ..utils import is_uuid from ..utils import parse_list from ..utils import parse_bool -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class OpsgenieCategory(NotifyBase): diff --git a/libs/apprise/plugins/NotifyPagerDuty.py b/libs/apprise/plugins/pagerduty.py similarity index 99% rename from libs/apprise/plugins/NotifyPagerDuty.py rename to libs/apprise/plugins/pagerduty.py index 0896b41b1..c9d555527 100644 --- a/libs/apprise/plugins/NotifyPagerDuty.py +++ b/libs/apprise/plugins/pagerduty.py @@ -34,13 +34,13 @@ import requests from json import dumps -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyType from ..common import NotifyImageSize from ..utils import validate_regex from ..utils import parse_bool -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class PagerDutySeverity: diff --git a/libs/apprise/plugins/NotifyPagerTree.py b/libs/apprise/plugins/pagertree.py similarity index 99% rename from libs/apprise/plugins/NotifyPagerTree.py rename to libs/apprise/plugins/pagertree.py index c9290f2f7..8a041a358 100644 --- a/libs/apprise/plugins/NotifyPagerTree.py +++ b/libs/apprise/plugins/pagertree.py @@ -31,11 +31,11 @@ from uuid import uuid4 -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..utils import parse_list from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # Actions diff --git a/libs/apprise/plugins/NotifyParsePlatform.py b/libs/apprise/plugins/parseplatform.py similarity index 99% rename from libs/apprise/plugins/NotifyParsePlatform.py rename to libs/apprise/plugins/parseplatform.py index 2a182ed31..cd59d0575 100644 --- a/libs/apprise/plugins/NotifyParsePlatform.py +++ b/libs/apprise/plugins/parseplatform.py @@ -30,10 +30,10 @@ import requests from json import dumps -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # Used to break path apart into list of targets TARGET_LIST_DELIM = re.compile(r'[ \t\r\n,\\/]+') diff --git a/libs/apprise/plugins/NotifyPopcornNotify.py b/libs/apprise/plugins/popcorn_notify.py similarity index 99% rename from libs/apprise/plugins/NotifyPopcornNotify.py rename to libs/apprise/plugins/popcorn_notify.py index 0ecd8af68..388aa2199 100644 --- a/libs/apprise/plugins/NotifyPopcornNotify.py +++ b/libs/apprise/plugins/popcorn_notify.py @@ -28,14 +28,14 @@ import requests -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..utils import is_email from ..utils import is_phone_no from ..utils import parse_list from ..utils import parse_bool from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class NotifyPopcornNotify(NotifyBase): diff --git a/libs/apprise/plugins/NotifyProwl.py b/libs/apprise/plugins/prowl.py similarity index 99% rename from libs/apprise/plugins/NotifyProwl.py rename to libs/apprise/plugins/prowl.py index e5c07bf4e..c174615c0 100644 --- a/libs/apprise/plugins/NotifyProwl.py +++ b/libs/apprise/plugins/prowl.py @@ -28,10 +28,10 @@ import requests -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # Priorities diff --git a/libs/apprise/plugins/NotifyPushBullet.py b/libs/apprise/plugins/pushbullet.py similarity index 99% rename from libs/apprise/plugins/NotifyPushBullet.py rename to libs/apprise/plugins/pushbullet.py index 5e9c43fbf..8e006db1d 100644 --- a/libs/apprise/plugins/NotifyPushBullet.py +++ b/libs/apprise/plugins/pushbullet.py @@ -30,13 +30,13 @@ from json import dumps from json import loads -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..utils import is_email from ..common import NotifyType from ..utils import parse_list from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ -from ..attachment.AttachBase import AttachBase +from ..locale import gettext_lazy as _ +from ..attachment.base import AttachBase # Flag used as a placeholder to sending to all devices PUSHBULLET_SEND_TO_ALL = 'ALL_DEVICES' diff --git a/libs/apprise/plugins/NotifyPushDeer.py b/libs/apprise/plugins/pushdeer.py similarity index 98% rename from libs/apprise/plugins/NotifyPushDeer.py rename to libs/apprise/plugins/pushdeer.py index 6766dc7ff..fa888b159 100644 --- a/libs/apprise/plugins/NotifyPushDeer.py +++ b/libs/apprise/plugins/pushdeer.py @@ -29,9 +29,9 @@ import requests from ..common import NotifyType -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # Syntax: # schan://{key}/ diff --git a/libs/apprise/plugins/NotifyPushed.py b/libs/apprise/plugins/pushed.py similarity index 99% rename from libs/apprise/plugins/NotifyPushed.py rename to libs/apprise/plugins/pushed.py index a50970f99..1ed83b9e4 100644 --- a/libs/apprise/plugins/NotifyPushed.py +++ b/libs/apprise/plugins/pushed.py @@ -31,12 +31,12 @@ from json import dumps from itertools import chain -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyType from ..utils import parse_list from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # Used to detect and parse channels IS_CHANNEL = re.compile(r'^#?(?P[A-Za-z0-9]+)$') diff --git a/libs/apprise/plugins/NotifyPushjet.py b/libs/apprise/plugins/pushjet.py similarity index 98% rename from libs/apprise/plugins/NotifyPushjet.py rename to libs/apprise/plugins/pushjet.py index 253ac6818..f8dcfdf31 100644 --- a/libs/apprise/plugins/NotifyPushjet.py +++ b/libs/apprise/plugins/pushjet.py @@ -29,11 +29,11 @@ import requests from json import dumps -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyType from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class NotifyPushjet(NotifyBase): diff --git a/libs/apprise/plugins/NotifyPushMe.py b/libs/apprise/plugins/pushme.py similarity index 98% rename from libs/apprise/plugins/NotifyPushMe.py rename to libs/apprise/plugins/pushme.py index 30889f868..abbed7944 100644 --- a/libs/apprise/plugins/NotifyPushMe.py +++ b/libs/apprise/plugins/pushme.py @@ -28,12 +28,12 @@ import requests -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..common import NotifyFormat from ..utils import validate_regex from ..utils import parse_bool -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class NotifyPushMe(NotifyBase): diff --git a/libs/apprise/plugins/NotifyPushover.py b/libs/apprise/plugins/pushover.py similarity index 99% rename from libs/apprise/plugins/NotifyPushover.py rename to libs/apprise/plugins/pushover.py index be6ada289..954e7dd0f 100644 --- a/libs/apprise/plugins/NotifyPushover.py +++ b/libs/apprise/plugins/pushover.py @@ -30,14 +30,14 @@ import requests from itertools import chain -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..common import NotifyFormat from ..conversion import convert_between from ..utils import parse_list from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ -from ..attachment.AttachBase import AttachBase +from ..locale import gettext_lazy as _ +from ..attachment.base import AttachBase # Flag used as a placeholder to sending to all devices PUSHOVER_SEND_TO_ALL = 'ALL_DEVICES' diff --git a/libs/apprise/plugins/NotifyPushSafer.py b/libs/apprise/plugins/pushsafer.py similarity index 99% rename from libs/apprise/plugins/NotifyPushSafer.py rename to libs/apprise/plugins/pushsafer.py index 32cfa82fe..7bdca7a69 100644 --- a/libs/apprise/plugins/NotifyPushSafer.py +++ b/libs/apprise/plugins/pushsafer.py @@ -30,11 +30,11 @@ import requests from json import loads -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..utils import parse_list from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class PushSaferSound: diff --git a/libs/apprise/plugins/NotifyPushy.py b/libs/apprise/plugins/pushy.py similarity index 99% rename from libs/apprise/plugins/NotifyPushy.py rename to libs/apprise/plugins/pushy.py index 097017dac..bb2a24ecd 100644 --- a/libs/apprise/plugins/NotifyPushy.py +++ b/libs/apprise/plugins/pushy.py @@ -32,11 +32,11 @@ from itertools import chain from json import dumps, loads -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..utils import parse_list from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # Used to detect a Device and Topic VALIDATE_DEVICE = re.compile(r'^@(?P[a-z0-9]+)$', re.I) diff --git a/libs/apprise/plugins/NotifyReddit.py b/libs/apprise/plugins/reddit.py similarity index 99% rename from libs/apprise/plugins/NotifyReddit.py rename to libs/apprise/plugins/reddit.py index 022a0a50d..3a60b5e03 100644 --- a/libs/apprise/plugins/NotifyReddit.py +++ b/libs/apprise/plugins/reddit.py @@ -53,14 +53,14 @@ from datetime import datetime from datetime import timezone -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyFormat from ..common import NotifyType from ..utils import parse_list from ..utils import parse_bool from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ from .. import __title__, __version__ # Extend HTTP Error Messages diff --git a/libs/apprise/plugins/NotifyRevolt.py b/libs/apprise/plugins/revolt.py similarity index 99% rename from libs/apprise/plugins/NotifyRevolt.py rename to libs/apprise/plugins/revolt.py index ae0a43b10..1f518540b 100644 --- a/libs/apprise/plugins/NotifyRevolt.py +++ b/libs/apprise/plugins/revolt.py @@ -42,13 +42,13 @@ from datetime import datetime from datetime import timezone -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyImageSize from ..common import NotifyFormat from ..common import NotifyType from ..utils import validate_regex from ..utils import parse_list -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class NotifyRevolt(NotifyBase): diff --git a/libs/apprise/plugins/NotifyRocketChat.py b/libs/apprise/plugins/rocketchat.py similarity index 99% rename from libs/apprise/plugins/NotifyRocketChat.py rename to libs/apprise/plugins/rocketchat.py index 9011a5e71..973651e30 100644 --- a/libs/apprise/plugins/NotifyRocketChat.py +++ b/libs/apprise/plugins/rocketchat.py @@ -32,14 +32,14 @@ from json import dumps from itertools import chain -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyImageSize from ..common import NotifyFormat from ..common import NotifyType from ..utils import parse_list from ..utils import parse_bool -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ IS_CHANNEL = re.compile(r'^#(?P[A-Za-z0-9_-]+)$') IS_USER = re.compile(r'^@(?P[A-Za-z0-9._-]+)$') diff --git a/libs/apprise/plugins/NotifyRSyslog.py b/libs/apprise/plugins/rsyslog.py similarity index 99% rename from libs/apprise/plugins/NotifyRSyslog.py rename to libs/apprise/plugins/rsyslog.py index e39744627..9631c72fd 100644 --- a/libs/apprise/plugins/NotifyRSyslog.py +++ b/libs/apprise/plugins/rsyslog.py @@ -29,10 +29,10 @@ import os import socket -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..utils import parse_bool -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class syslog: diff --git a/libs/apprise/plugins/NotifyRyver.py b/libs/apprise/plugins/ryver.py similarity index 99% rename from libs/apprise/plugins/NotifyRyver.py rename to libs/apprise/plugins/ryver.py index 0872f3e52..114dc6a0c 100644 --- a/libs/apprise/plugins/NotifyRyver.py +++ b/libs/apprise/plugins/ryver.py @@ -38,12 +38,12 @@ import requests from json import dumps -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyImageSize from ..common import NotifyType from ..utils import parse_bool from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class RyverWebhookMode: diff --git a/libs/apprise/plugins/NotifySendGrid.py b/libs/apprise/plugins/sendgrid.py similarity index 99% rename from libs/apprise/plugins/NotifySendGrid.py rename to libs/apprise/plugins/sendgrid.py index b82e3e60d..d50839f17 100644 --- a/libs/apprise/plugins/NotifySendGrid.py +++ b/libs/apprise/plugins/sendgrid.py @@ -49,13 +49,13 @@ import requests from json import dumps -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyFormat from ..common import NotifyType from ..utils import parse_list from ..utils import is_email from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # Extend HTTP Error Messages SENDGRID_HTTP_ERROR_MAP = { diff --git a/libs/apprise/plugins/NotifyServerChan.py b/libs/apprise/plugins/serverchan.py similarity index 98% rename from libs/apprise/plugins/NotifyServerChan.py rename to libs/apprise/plugins/serverchan.py index cf250cf5b..e3abaa354 100644 --- a/libs/apprise/plugins/NotifyServerChan.py +++ b/libs/apprise/plugins/serverchan.py @@ -30,9 +30,9 @@ import requests from ..common import NotifyType -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # Register at https://sct.ftqq.com/ diff --git a/libs/apprise/plugins/NotifySES.py b/libs/apprise/plugins/ses.py similarity index 99% rename from libs/apprise/plugins/NotifySES.py rename to libs/apprise/plugins/ses.py index b580b14d6..5a2c047a7 100644 --- a/libs/apprise/plugins/NotifySES.py +++ b/libs/apprise/plugins/ses.py @@ -95,13 +95,13 @@ from email.header import Header from urllib.parse import quote -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyFormat from ..common import NotifyType from ..utils import parse_emails from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ from ..utils import is_email # Our Regin Identifier diff --git a/libs/apprise/plugins/NotifySignalAPI.py b/libs/apprise/plugins/signal_api.py similarity index 99% rename from libs/apprise/plugins/NotifySignalAPI.py rename to libs/apprise/plugins/signal_api.py index b35b4989e..7e557133c 100644 --- a/libs/apprise/plugins/NotifySignalAPI.py +++ b/libs/apprise/plugins/signal_api.py @@ -31,13 +31,13 @@ from json import dumps import base64 -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..utils import is_phone_no from ..utils import parse_phone_no from ..utils import parse_bool -from ..URLBase import PrivacyMode -from ..AppriseLocale import gettext_lazy as _ +from ..url import PrivacyMode +from ..locale import gettext_lazy as _ GROUP_REGEX = re.compile( diff --git a/libs/apprise/plugins/NotifySimplePush.py b/libs/apprise/plugins/simplepush.py similarity index 98% rename from libs/apprise/plugins/NotifySimplePush.py rename to libs/apprise/plugins/simplepush.py index 3851e1e3c..10b01b0f8 100644 --- a/libs/apprise/plugins/NotifySimplePush.py +++ b/libs/apprise/plugins/simplepush.py @@ -30,11 +30,11 @@ from json import loads import requests -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyType from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ from base64 import urlsafe_b64encode import hashlib diff --git a/libs/apprise/plugins/NotifySinch.py b/libs/apprise/plugins/sinch.py similarity index 99% rename from libs/apprise/plugins/NotifySinch.py rename to libs/apprise/plugins/sinch.py index 74b3c452a..06bd5b1e7 100644 --- a/libs/apprise/plugins/NotifySinch.py +++ b/libs/apprise/plugins/sinch.py @@ -39,13 +39,13 @@ import requests import json -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyType from ..utils import is_phone_no from ..utils import parse_phone_no from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class SinchRegion: diff --git a/libs/apprise/plugins/NotifySlack.py b/libs/apprise/plugins/slack.py similarity index 99% rename from libs/apprise/plugins/NotifySlack.py rename to libs/apprise/plugins/slack.py index b66fe99f4..b929dfb46 100644 --- a/libs/apprise/plugins/NotifySlack.py +++ b/libs/apprise/plugins/slack.py @@ -78,7 +78,7 @@ from json import loads from time import time -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyImageSize from ..common import NotifyType from ..common import NotifyFormat @@ -86,7 +86,7 @@ from ..utils import parse_bool from ..utils import parse_list from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # Extend HTTP Error Messages SLACK_HTTP_ERROR_MAP = { diff --git a/libs/apprise/plugins/NotifySMSEagle.py b/libs/apprise/plugins/smseagle.py similarity index 99% rename from libs/apprise/plugins/NotifySMSEagle.py rename to libs/apprise/plugins/smseagle.py index 33b4af752..8eddca588 100644 --- a/libs/apprise/plugins/NotifySMSEagle.py +++ b/libs/apprise/plugins/smseagle.py @@ -32,14 +32,14 @@ import base64 from itertools import chain -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..utils import validate_regex from ..utils import is_phone_no from ..utils import parse_phone_no from ..utils import parse_bool -from ..URLBase import PrivacyMode -from ..AppriseLocale import gettext_lazy as _ +from ..url import PrivacyMode +from ..locale import gettext_lazy as _ GROUP_REGEX = re.compile( diff --git a/libs/apprise/plugins/NotifySMSManager.py b/libs/apprise/plugins/smsmanager.py similarity index 99% rename from libs/apprise/plugins/NotifySMSManager.py rename to libs/apprise/plugins/smsmanager.py index efc158b62..1d352daf2 100644 --- a/libs/apprise/plugins/NotifySMSManager.py +++ b/libs/apprise/plugins/smsmanager.py @@ -35,13 +35,13 @@ # 2. Generate an API key in web administration. import requests -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..utils import is_phone_no from ..utils import parse_phone_no from ..utils import parse_bool from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class SMSManagerGateway(object): diff --git a/libs/apprise/plugins/NotifySMTP2Go.py b/libs/apprise/plugins/smtp2go.py similarity index 99% rename from libs/apprise/plugins/NotifySMTP2Go.py rename to libs/apprise/plugins/smtp2go.py index a34492d05..017da8111 100644 --- a/libs/apprise/plugins/NotifySMTP2Go.py +++ b/libs/apprise/plugins/smtp2go.py @@ -49,14 +49,14 @@ import requests from json import dumps from email.utils import formataddr -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..common import NotifyFormat from ..utils import parse_emails from ..utils import parse_bool from ..utils import is_email from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ SMTP2GO_HTTP_ERROR_MAP = { 429: 'To many requests.', diff --git a/libs/apprise/plugins/NotifySNS.py b/libs/apprise/plugins/sns.py similarity index 99% rename from libs/apprise/plugins/NotifySNS.py rename to libs/apprise/plugins/sns.py index 5a287e37e..cc6e83076 100644 --- a/libs/apprise/plugins/NotifySNS.py +++ b/libs/apprise/plugins/sns.py @@ -36,13 +36,13 @@ from xml.etree import ElementTree from itertools import chain -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyType from ..utils import is_phone_no from ..utils import parse_list from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # Topic Detection # Summary: 256 Characters max, only alpha/numeric plus underscore (_) and diff --git a/libs/apprise/plugins/NotifySparkPost.py b/libs/apprise/plugins/sparkpost.py similarity index 99% rename from libs/apprise/plugins/NotifySparkPost.py rename to libs/apprise/plugins/sparkpost.py index 255db0709..b873d6b0e 100644 --- a/libs/apprise/plugins/NotifySparkPost.py +++ b/libs/apprise/plugins/sparkpost.py @@ -58,7 +58,7 @@ import base64 from json import loads from json import dumps -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..common import NotifyFormat from ..utils import is_email @@ -66,7 +66,7 @@ from ..utils import validate_regex from ..utils import parse_emails from ..utils import parse_bool -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # Provide some known codes SparkPost uses and what they translate to: # Based on https://www.sparkpost.com/docs/tech-resources/extended-error-codes/ diff --git a/libs/apprise/plugins/NotifyStreamlabs.py b/libs/apprise/plugins/streamlabs.py similarity index 99% rename from libs/apprise/plugins/NotifyStreamlabs.py rename to libs/apprise/plugins/streamlabs.py index d1e4186a6..c534f1ba6 100644 --- a/libs/apprise/plugins/NotifyStreamlabs.py +++ b/libs/apprise/plugins/streamlabs.py @@ -38,10 +38,10 @@ # import requests -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # calls diff --git a/libs/apprise/plugins/NotifySynology.py b/libs/apprise/plugins/synology.py similarity index 98% rename from libs/apprise/plugins/NotifySynology.py rename to libs/apprise/plugins/synology.py index be58c0643..ed85f80c0 100644 --- a/libs/apprise/plugins/NotifySynology.py +++ b/libs/apprise/plugins/synology.py @@ -29,10 +29,10 @@ import requests from json import dumps -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyType -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # For API Details see: # https://kb.synology.com/en-au/DSM/help/Chat/chat_integration diff --git a/libs/apprise/plugins/NotifySyslog.py b/libs/apprise/plugins/syslog.py similarity index 99% rename from libs/apprise/plugins/NotifySyslog.py rename to libs/apprise/plugins/syslog.py index 5540fc758..935111eea 100644 --- a/libs/apprise/plugins/NotifySyslog.py +++ b/libs/apprise/plugins/syslog.py @@ -28,10 +28,10 @@ import syslog -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..utils import parse_bool -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class SyslogFacility: diff --git a/libs/apprise/plugins/NotifyTechulusPush.py b/libs/apprise/plugins/techuluspush.py similarity index 98% rename from libs/apprise/plugins/NotifyTechulusPush.py rename to libs/apprise/plugins/techuluspush.py index 4d0b99348..682bf088e 100644 --- a/libs/apprise/plugins/NotifyTechulusPush.py +++ b/libs/apprise/plugins/techuluspush.py @@ -53,10 +53,10 @@ import requests from json import dumps -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # Token required as part of the API request # Used to prepare our UUID regex matching diff --git a/libs/apprise/plugins/NotifyTelegram.py b/libs/apprise/plugins/telegram.py similarity index 99% rename from libs/apprise/plugins/NotifyTelegram.py rename to libs/apprise/plugins/telegram.py index cce8af625..6b997f574 100644 --- a/libs/apprise/plugins/NotifyTelegram.py +++ b/libs/apprise/plugins/telegram.py @@ -59,15 +59,15 @@ from json import loads from json import dumps -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..common import NotifyImageSize from ..common import NotifyFormat from ..utils import parse_bool from ..utils import parse_list from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ -from ..attachment.AttachBase import AttachBase +from ..locale import gettext_lazy as _ +from ..attachment.base import AttachBase TELEGRAM_IMAGE_XY = NotifyImageSize.XY_256 diff --git a/libs/apprise/plugins/NotifyThreema.py b/libs/apprise/plugins/threema.py similarity index 99% rename from libs/apprise/plugins/NotifyThreema.py rename to libs/apprise/plugins/threema.py index c2ad82e2e..423c23124 100644 --- a/libs/apprise/plugins/NotifyThreema.py +++ b/libs/apprise/plugins/threema.py @@ -35,14 +35,14 @@ import requests from itertools import chain -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..utils import is_phone_no from ..utils import validate_regex from ..utils import is_email -from ..URLBase import PrivacyMode +from ..url import PrivacyMode from ..utils import parse_list -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class ThreemaRecipientTypes: diff --git a/libs/apprise/plugins/NotifyTwilio.py b/libs/apprise/plugins/twilio.py similarity index 99% rename from libs/apprise/plugins/NotifyTwilio.py rename to libs/apprise/plugins/twilio.py index 863b09a94..4205e37f0 100644 --- a/libs/apprise/plugins/NotifyTwilio.py +++ b/libs/apprise/plugins/twilio.py @@ -46,13 +46,13 @@ import requests from json import loads -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyType from ..utils import is_phone_no from ..utils import parse_phone_no from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class NotifyTwilio(NotifyBase): diff --git a/libs/apprise/plugins/NotifyTwist.py b/libs/apprise/plugins/twist.py similarity index 99% rename from libs/apprise/plugins/NotifyTwist.py rename to libs/apprise/plugins/twist.py index fa26feb84..62d729f4f 100644 --- a/libs/apprise/plugins/NotifyTwist.py +++ b/libs/apprise/plugins/twist.py @@ -35,13 +35,13 @@ from json import loads from itertools import chain -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyFormat from ..common import NotifyType from ..utils import parse_list from ..utils import is_email -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # A workspace can also be interpreted as a team name too! diff --git a/libs/apprise/plugins/NotifyTwitter.py b/libs/apprise/plugins/twitter.py similarity index 99% rename from libs/apprise/plugins/NotifyTwitter.py rename to libs/apprise/plugins/twitter.py index 7a0813c1f..8000a8151 100644 --- a/libs/apprise/plugins/NotifyTwitter.py +++ b/libs/apprise/plugins/twitter.py @@ -36,14 +36,14 @@ from requests_oauthlib import OAuth1 from json import dumps from json import loads -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyType from ..utils import parse_list from ..utils import parse_bool from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ -from ..attachment.AttachBase import AttachBase +from ..locale import gettext_lazy as _ +from ..attachment.base import AttachBase IS_USER = re.compile(r'^\s*@?(?P[A-Z0-9_]+)$', re.I) diff --git a/libs/apprise/plugins/NotifyVoipms.py b/libs/apprise/plugins/voipms.py similarity index 99% rename from libs/apprise/plugins/NotifyVoipms.py rename to libs/apprise/plugins/voipms.py index a023589a7..3a4e6d25f 100644 --- a/libs/apprise/plugins/NotifyVoipms.py +++ b/libs/apprise/plugins/voipms.py @@ -37,12 +37,12 @@ import requests from json import loads -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..utils import is_phone_no from ..utils import is_email from ..utils import parse_phone_no -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class NotifyVoipms(NotifyBase): diff --git a/libs/apprise/plugins/NotifyVonage.py b/libs/apprise/plugins/vonage.py similarity index 99% rename from libs/apprise/plugins/NotifyVonage.py rename to libs/apprise/plugins/vonage.py index e9b1422ad..441a6ba6b 100644 --- a/libs/apprise/plugins/NotifyVonage.py +++ b/libs/apprise/plugins/vonage.py @@ -33,13 +33,13 @@ # import requests -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyType from ..utils import is_phone_no from ..utils import parse_phone_no from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class NotifyVonage(NotifyBase): diff --git a/libs/apprise/plugins/NotifyWebexTeams.py b/libs/apprise/plugins/webexteams.py similarity index 99% rename from libs/apprise/plugins/NotifyWebexTeams.py rename to libs/apprise/plugins/webexteams.py index c91864bad..bd0bdb577 100644 --- a/libs/apprise/plugins/NotifyWebexTeams.py +++ b/libs/apprise/plugins/webexteams.py @@ -63,11 +63,11 @@ import requests from json import dumps -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..common import NotifyFormat from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # Extend HTTP Error Messages # Based on: https://developer.webex.com/docs/api/basics/rate-limiting diff --git a/libs/apprise/plugins/NotifyWeComBot.py b/libs/apprise/plugins/wecombot.py similarity index 99% rename from libs/apprise/plugins/NotifyWeComBot.py rename to libs/apprise/plugins/wecombot.py index 4289b39e9..ab6341718 100644 --- a/libs/apprise/plugins/NotifyWeComBot.py +++ b/libs/apprise/plugins/wecombot.py @@ -59,10 +59,10 @@ import requests from json import dumps -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class NotifyWeComBot(NotifyBase): diff --git a/libs/apprise/plugins/NotifyWhatsApp.py b/libs/apprise/plugins/whatsapp.py similarity index 99% rename from libs/apprise/plugins/NotifyWhatsApp.py rename to libs/apprise/plugins/whatsapp.py index 4ccbcbdaf..7120d736c 100644 --- a/libs/apprise/plugins/NotifyWhatsApp.py +++ b/libs/apprise/plugins/whatsapp.py @@ -44,12 +44,12 @@ import re import requests from json import loads, dumps -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..utils import is_phone_no from ..utils import parse_phone_no from ..utils import validate_regex -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class NotifyWhatsApp(NotifyBase): diff --git a/libs/apprise/plugins/NotifyWindows.py b/libs/apprise/plugins/windows.py similarity index 99% rename from libs/apprise/plugins/NotifyWindows.py rename to libs/apprise/plugins/windows.py index 207e0f221..746fcd1dd 100644 --- a/libs/apprise/plugins/NotifyWindows.py +++ b/libs/apprise/plugins/windows.py @@ -28,11 +28,11 @@ from time import sleep -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyImageSize from ..common import NotifyType from ..utils import parse_bool -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # Default our global support flag NOTIFY_WINDOWS_SUPPORT_ENABLED = False diff --git a/libs/apprise/plugins/NotifyXBMC.py b/libs/apprise/plugins/xbmc.py similarity index 99% rename from libs/apprise/plugins/NotifyXBMC.py rename to libs/apprise/plugins/xbmc.py index 7d4462e41..8006e1005 100644 --- a/libs/apprise/plugins/NotifyXBMC.py +++ b/libs/apprise/plugins/xbmc.py @@ -29,12 +29,12 @@ import requests from json import dumps -from .NotifyBase import NotifyBase -from ..URLBase import PrivacyMode +from .base import NotifyBase +from ..url import PrivacyMode from ..common import NotifyType from ..common import NotifyImageSize from ..utils import parse_bool -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ class NotifyXBMC(NotifyBase): diff --git a/libs/apprise/plugins/NotifyZulip.py b/libs/apprise/plugins/zulip.py similarity index 99% rename from libs/apprise/plugins/NotifyZulip.py rename to libs/apprise/plugins/zulip.py index 54fe2d062..e829e6f6d 100644 --- a/libs/apprise/plugins/NotifyZulip.py +++ b/libs/apprise/plugins/zulip.py @@ -61,13 +61,13 @@ import re import requests -from .NotifyBase import NotifyBase +from .base import NotifyBase from ..common import NotifyType from ..utils import parse_list from ..utils import validate_regex from ..utils import is_email from ..utils import remove_suffix -from ..AppriseLocale import gettext_lazy as _ +from ..locale import gettext_lazy as _ # A Valid Bot Name VALIDATE_BOTNAME = re.compile(r'(?P[A-Z0-9_-]{1,32})', re.I) diff --git a/libs/apprise/URLBase.py b/libs/apprise/url.py similarity index 99% rename from libs/apprise/URLBase.py rename to libs/apprise/url.py index 90ea85c66..39daec867 100644 --- a/libs/apprise/URLBase.py +++ b/libs/apprise/url.py @@ -35,8 +35,8 @@ from urllib.parse import unquote as _unquote from urllib.parse import quote as _quote -from .AppriseLocale import gettext_lazy as _ -from .AppriseAsset import AppriseAsset +from .locale import gettext_lazy as _ +from .asset import AppriseAsset from .utils import urlencode from .utils import parse_url from .utils import parse_bool @@ -744,7 +744,7 @@ def post_process_parse_url_results(results): @staticmethod def parse_url(url, verify_host=True, plus_to_space=False, - strict_port=False): + strict_port=False, sanitize=True): """Parses the URL and returns it broken apart into a dictionary. This is very specific and customized for Apprise. @@ -765,7 +765,8 @@ def parse_url(url, verify_host=True, plus_to_space=False, results = parse_url( url, default_schema='unknown', verify_host=verify_host, - plus_to_space=plus_to_space, strict_port=strict_port) + plus_to_space=plus_to_space, strict_port=strict_port, + sanitize=sanitize) if not results: # We're done; we failed to parse our url diff --git a/libs/apprise/URLBase.pyi b/libs/apprise/url.pyi similarity index 100% rename from libs/apprise/URLBase.pyi rename to libs/apprise/url.pyi diff --git a/libs/apprise/utils.py b/libs/apprise/utils.py index e1881f314..b33ec0749 100644 --- a/libs/apprise/utils.py +++ b/libs/apprise/utils.py @@ -541,7 +541,7 @@ def tidy_path(path): return path -def parse_qsd(qs, simple=False, plus_to_space=False): +def parse_qsd(qs, simple=False, plus_to_space=False, sanitize=True): """ Query String Dictionary Builder @@ -568,6 +568,8 @@ def parse_qsd(qs, simple=False, plus_to_space=False): per normal URL Encoded defininition. Normal URL parsing applies this, but `+` is very actively used character with passwords, api keys, tokens, etc. So Apprise does not do this by default. + + if sanitize is set to False, then kwargs are not placed into lowercase """ # Our return result set: @@ -608,7 +610,7 @@ def parse_qsd(qs, simple=False, plus_to_space=False): # Always Query String Dictionary (qsd) for every entry we have # content is always made lowercase for easy indexing - result['qsd'][key.lower().strip()] = val + result['qsd'][key.lower().strip() if sanitize else key] = val if simple: # move along @@ -636,7 +638,7 @@ def parse_qsd(qs, simple=False, plus_to_space=False): def parse_url(url, default_schema='http', verify_host=True, strict_port=False, - simple=False, plus_to_space=False): + simple=False, plus_to_space=False, sanitize=True): """A function that greatly simplifies the parsing of a url specified by the end user. @@ -691,6 +693,8 @@ def parse_url(url, default_schema='http', verify_host=True, strict_port=False, If the URL can't be parsed then None is returned + If sanitize is set to False, then kwargs are not placed in lowercase + and wrapping whitespace is not removed """ if not isinstance(url, str): @@ -750,7 +754,8 @@ def parse_url(url, default_schema='http', verify_host=True, strict_port=False, # while ensuring that all keys are lowercase if qsdata: result.update(parse_qsd( - qsdata, simple=simple, plus_to_space=plus_to_space)) + qsdata, simple=simple, plus_to_space=plus_to_space, + sanitize=sanitize)) # Now do a proper extraction of data; http:// is just substitued in place # to allow urlparse() to function as expected, we'll swap this back to the diff --git a/libs/version.txt b/libs/version.txt index ccabf65cc..8ac12d74d 100644 --- a/libs/version.txt +++ b/libs/version.txt @@ -2,7 +2,7 @@ alembic==1.13.1 aniso8601==9.0.1 argparse==1.4.0 -apprise==1.7.6 +apprise==1.8.0 apscheduler<=3.10.4 attrs==23.2.0 blinker==1.7.0