Update Apprise 1.2.1 (3d07004) → 1.3.0 (6458ab0).

This commit is contained in:
JackDandy 2023-04-13 09:41:12 +01:00
parent 0794ca330f
commit 73158c9ab8
119 changed files with 4475 additions and 2193 deletions

View file

@ -1,5 +1,6 @@
### 3.29.0 (2023-xx-xx xx:xx:00 UTC) ### 3.29.0 (2023-xx-xx xx:xx:00 UTC)
* Update Apprise 1.2.1 (3d07004) to 1.3.0 (6458ab0)
* Update attr 22.2.0 (a9960de) to 22.2.0 (683d056) * Update attr 22.2.0 (a9960de) to 22.2.0 (683d056)
* Update diskcache 5.4.0 (1cb1425) to 5.6.1 (4d30686) * Update diskcache 5.4.0 (1cb1425) to 5.6.1 (4d30686)
* Update feedparser 6.0.10 (5fcb3ae) to 6.0.10 (6d032b8) * Update feedparser 6.0.10 (5fcb3ae) to 6.0.10 (6d032b8)

View file

@ -1,29 +1,38 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import asyncio
import os import os
from functools import partial
from itertools import chain from itertools import chain
from . import common from . import common
from .conversion import convert_between from .conversion import convert_between
@ -43,11 +52,6 @@ from .plugins.NotifyBase import NotifyBase
from . import plugins from . import plugins
from . import __version__ from . import __version__
# Python v3+ support code made importable, so it can remain backwards
# compatible with Python v2
# TODO: Review after dropping support for Python 2.
from . import py3compat
class Apprise: class Apprise:
""" """
@ -369,91 +373,118 @@ class Apprise:
such as turning a \n into an actual new line, etc. such as turning a \n into an actual new line, etc.
""" """
return py3compat.asyncio.tosync( try:
self.async_notify( # Process arguments and build synchronous and asynchronous calls
# (this step can throw internal errors).
sync_partials, async_cors = self._create_notify_calls(
body, title, body, title,
notify_type=notify_type, body_format=body_format, notify_type=notify_type, body_format=body_format,
tag=tag, match_always=match_always, attach=attach, tag=tag, match_always=match_always, attach=attach,
interpret_escapes=interpret_escapes, interpret_escapes=interpret_escapes
), )
debug=self.debug
)
def async_notify(self, *args, **kwargs): except TypeError:
# No notifications sent, and there was an internal error.
return False
if not sync_partials and not async_cors:
# Nothing to send
return None
sync_result = Apprise._notify_all(*sync_partials)
if async_cors:
# A single coroutine sends all asynchronous notifications in
# parallel.
all_cor = Apprise._async_notify_all(*async_cors)
try:
# Python <3.7 automatically starts an event loop if there isn't
# already one for the main thread.
loop = asyncio.get_event_loop()
except RuntimeError:
# Python >=3.7 raises this exception if there isn't already an
# event loop. So, we can spin up our own.
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
loop.set_debug(self.debug)
# Run the coroutine and wait for the result.
async_result = loop.run_until_complete(all_cor)
# Clean up the loop.
loop.close()
asyncio.set_event_loop(None)
else:
old_debug = loop.get_debug()
loop.set_debug(self.debug)
# Run the coroutine and wait for the result.
async_result = loop.run_until_complete(all_cor)
loop.set_debug(old_debug)
else:
async_result = True
return sync_result and async_result
async def async_notify(self, *args, **kwargs):
""" """
Send a notification to all the plugins previously loaded, for Send a notification to all the plugins previously loaded, for
asynchronous callers. This method is an async method that should be asynchronous callers.
awaited on, even if it is missing the async keyword in its signature.
(This is omitted to preserve syntax compatibility with Python 2.)
The arguments are identical to those of Apprise.notify(). The arguments are identical to those of Apprise.notify().
""" """
try: try:
coroutines = list( # Process arguments and build synchronous and asynchronous calls
self._notifyall( # (this step can throw internal errors).
Apprise._notifyhandlerasync, *args, **kwargs)) sync_partials, async_cors = self._create_notify_calls(
*args, **kwargs)
except TypeError: except TypeError:
# No notifications sent, and there was an internal error. # No notifications sent, and there was an internal error.
return py3compat.asyncio.toasyncwrapvalue(False)
else:
if len(coroutines) > 0:
# All notifications sent, return False if any failed.
return py3compat.asyncio.notify(coroutines)
else:
# No notifications sent.
return py3compat.asyncio.toasyncwrapvalue(None)
@staticmethod
def _notifyhandler(server, **kwargs):
"""
The synchronous notification sender. Returns True if the notification
sent successfully.
"""
try:
# Send notification
return server.notify(**kwargs)
except TypeError:
# These our our internally thrown notifications
return False return False
except Exception: if not sync_partials and not async_cors:
# A catch all so we don't have to abort early # Nothing to send
# just because one of our plugins has a bug in it. return None
logger.exception("Unhandled Notification Exception")
return False
@staticmethod sync_result = Apprise._notify_all(*sync_partials)
def _notifyhandlerasync(server, **kwargs): async_result = await Apprise._async_notify_all(*async_cors)
""" return sync_result and async_result
The asynchronous notification sender. Returns a coroutine that yields
True if the notification sent successfully.
"""
if server.asset.async_mode: def _create_notify_calls(self, *args, **kwargs):
return server.async_notify(**kwargs)
else:
# Send the notification immediately, and wrap the result in a
# coroutine.
status = Apprise._notifyhandler(server, **kwargs)
return py3compat.asyncio.toasyncwrapvalue(status)
def _notifyall(self, handler, body, title='',
notify_type=common.NotifyType.INFO, body_format=None,
tag=common.MATCH_ALL_TAG, match_always=True, attach=None,
interpret_escapes=None):
""" """
Creates notifications for all the plugins loaded. Creates notifications for all the plugins loaded.
Returns a generator that calls handler for each notification. The first Returns a list of synchronous calls (partial functions with no
and only argument supplied to handler is the server, and the keyword arguments required) for plugins with async disabled and a list of
arguments are exactly as they would be passed to server.notify(). asynchronous calls (coroutines) for plugins with async enabled.
"""
all_calls = list(self._create_notify_gen(*args, **kwargs))
# Split into synchronous partials and asynchronous coroutines.
sync_partials, async_cors = [], []
for notify in all_calls:
if asyncio.iscoroutine(notify):
async_cors.append(notify)
else:
sync_partials.append(notify)
return sync_partials, async_cors
def _create_notify_gen(self, body, title='',
notify_type=common.NotifyType.INFO,
body_format=None, tag=common.MATCH_ALL_TAG,
match_always=True, attach=None,
interpret_escapes=None):
"""
Internal generator function for _create_notify_calls().
""" """
if len(self) == 0: if len(self) == 0:
@ -546,14 +577,67 @@ class Apprise:
logger.error(msg) logger.error(msg)
raise TypeError(msg) raise TypeError(msg)
yield handler( kwargs = dict(
server,
body=conversion_body_map[server.notify_format], body=conversion_body_map[server.notify_format],
title=conversion_title_map[server.notify_format], title=conversion_title_map[server.notify_format],
notify_type=notify_type, notify_type=notify_type,
attach=attach, attach=attach,
body_format=body_format, body_format=body_format
) )
if server.asset.async_mode:
yield server.async_notify(**kwargs)
else:
yield partial(server.notify, **kwargs)
@staticmethod
def _notify_all(*partials):
"""
Process a list of synchronous notify() calls.
"""
success = True
for notify in partials:
try:
# Send notification
result = notify()
success = success and result
except TypeError:
# These are our internally thrown notifications.
success = False
except Exception:
# A catch all so we don't have to abort early
# just because one of our plugins has a bug in it.
logger.exception("Unhandled Notification Exception")
success = False
return success
@staticmethod
async def _async_notify_all(*cors):
"""
Process a list of asynchronous async_notify() calls.
"""
# Create log entry
logger.info('Notifying %d service(s) asynchronously.', len(cors))
results = await asyncio.gather(*cors, return_exceptions=True)
if any(isinstance(status, Exception)
and not isinstance(status, TypeError) for status in results):
# A catch all so we don't have to abort early just because
# one of our plugins has a bug in it.
logger.exception("Unhandled Notification Exception")
return False
if any(isinstance(status, TypeError) for status in results):
# These are our internally thrown notifications.
return False
return all(results)
def details(self, lang=None, show_requirements=False, show_disabled=False): def details(self, lang=None, show_requirements=False, show_disabled=False):
""" """

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import re import re
from uuid import uuid4 from uuid import uuid4

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
from . import attachment from . import attachment
from . import URLBase from . import URLBase

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
from . import config from . import config
from . import ConfigBase from . import ConfigBase

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import ctypes import ctypes
import locale import locale

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import re import re
from .logger import logger from .logger import logger

View file

@ -1,33 +1,40 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2022 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
__title__ = 'Apprise' __title__ = 'Apprise'
__version__ = '1.2.1' __version__ = '1.3.0'
__author__ = 'Chris Caron' __author__ = 'Chris Caron'
__license__ = 'MIT' __license__ = 'BSD'
__copywrite__ = 'Copyright (C) 2022 Chris Caron <lead2gold@gmail.com>' __copywrite__ = 'Copyright (C) 2023 Chris Caron <lead2gold@gmail.com>'
__email__ = 'lead2gold@gmail.com' __email__ = 'lead2gold@gmail.com'
__status__ = 'Production' __status__ = 'Production'

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import os import os
import time import time

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import re import re
import os import os

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import re import re
import os import os

View file

@ -1,30 +1,36 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import re import re
from os import listdir from os import listdir
from os.path import dirname from os.path import dirname
from os.path import abspath from os.path import abspath

View file

@ -1,28 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# we mirror our base purely for the ability to reset everything; this # we mirror our base purely for the ability to reset everything; this
# is generally only used in testing and should not be used by developers # is generally only used in testing and should not be used by developers

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2020 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import os import os
import re import re

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import re import re
import os import os

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import re import re
import requests import requests

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2020 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# 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 .ConfigBase import ConfigBase
from ..AppriseLocale import gettext_lazy as _ from ..AppriseLocale import gettext_lazy as _

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import re import re
from os import listdir from os import listdir

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2022 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import re import re
#from markdown import markdown #from markdown import markdown

View file

@ -1,27 +1,35 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2022 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
from ..plugins.NotifyBase import NotifyBase from ..plugins.NotifyBase import NotifyBase
from ..utils import URL_DETAILS_RE from ..utils import URL_DETAILS_RE
from ..utils import parse_url from ..utils import parse_url

View file

@ -1,27 +1,35 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2022 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
from .notify import notify from .notify import notify

View file

@ -1,27 +1,35 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2022 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# 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 .CustomNotifyPlugin import CustomNotifyPlugin

View file

@ -1,14 +1,14 @@
# Translations template for apprise. # Translations template for apprise.
# Copyright (C) 2022 Chris Caron # Copyright (C) 2023 Chris Caron
# This file is distributed under the same license as the apprise project. # This file is distributed under the same license as the apprise project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022. # FIRST AUTHOR <EMAIL@ADDRESS>, 2023.
# #
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: apprise 1.2.1\n" "Project-Id-Version: apprise 1.3.0\n"
"Report-Msgid-Bugs-To: lead2gold@gmail.com\n" "Report-Msgid-Bugs-To: lead2gold@gmail.com\n"
"POT-Creation-Date: 2022-12-28 09:43-0500\n" "POT-Creation-Date: 2023-02-22 17:31-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -50,6 +50,9 @@ msgstr ""
msgid "Account SID" msgid "Account SID"
msgstr "" msgstr ""
msgid "Action"
msgstr ""
msgid "Add Tokens" msgid "Add Tokens"
msgstr "" msgstr ""
@ -83,6 +86,9 @@ msgstr ""
msgid "Attach" msgid "Attach"
msgstr "" msgstr ""
msgid "Attach File As"
msgstr ""
msgid "Attach Filename" msgid "Attach Filename"
msgstr "" msgstr ""
@ -92,6 +98,9 @@ msgstr ""
msgid "Authentication Key" msgid "Authentication Key"
msgstr "" msgstr ""
msgid "Authentication Type"
msgstr ""
msgid "Authorization Token" msgid "Authorization Token"
msgstr "" msgstr ""
@ -305,6 +314,9 @@ msgstr ""
msgid "Include Segment" msgid "Include Segment"
msgstr "" msgstr ""
msgid "Integration ID"
msgstr ""
msgid "Is Ad?" msgid "Is Ad?"
msgstr "" msgstr ""
@ -353,6 +365,9 @@ msgstr ""
msgid "Message Type" msgid "Message Type"
msgstr "" msgstr ""
msgid "Meta Extras"
msgstr ""
msgid "Modal" msgid "Modal"
msgstr "" msgstr ""
@ -658,6 +673,9 @@ msgstr ""
msgid "Text To Speech" msgid "Text To Speech"
msgstr "" msgstr ""
msgid "Third Party ID"
msgstr ""
msgid "Thread ID" msgid "Thread ID"
msgstr "" msgstr ""
@ -715,6 +733,9 @@ msgstr ""
msgid "Use Session" msgid "Use Session"
msgstr "" msgstr ""
msgid "User Email"
msgstr ""
msgid "User ID" msgid "User ID"
msgstr "" msgstr ""

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import os import os
import logging import logging

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2021 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import re import re
import requests import requests

View file

@ -1,27 +1,35 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2022 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# #
# API: https://github.com/Finb/bark-server/blob/master/docs/API_V2.md#python # API: https://github.com/Finb/bark-server/blob/master/docs/API_V2.md#python
# #

View file

@ -1,29 +1,38 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import asyncio
import re import re
from functools import partial
from ..URLBase import URLBase from ..URLBase import URLBase
from ..common import NotifyType from ..common import NotifyType
@ -36,12 +45,7 @@ from ..AppriseLocale import gettext_lazy as _
from ..AppriseAttachment import AppriseAttachment from ..AppriseAttachment import AppriseAttachment
# Wrap our base with the asyncio wrapper class NotifyBase(URLBase):
from ..py3compat.asyncio import AsyncNotifyBase
BASE_OBJECT = AsyncNotifyBase
class NotifyBase(BASE_OBJECT):
""" """
This is the base class for all notification services This is the base class for all notification services
""" """
@ -267,19 +271,64 @@ class NotifyBase(BASE_OBJECT):
color_type=color_type, color_type=color_type,
) )
def notify(self, body, title=None, notify_type=NotifyType.INFO, def notify(self, *args, **kwargs):
overflow=None, attach=None, body_format=None, **kwargs):
""" """
Performs notification Performs notification
"""
try:
# Build a list of dictionaries that can be used to call send().
send_calls = list(self._build_send_calls(*args, **kwargs))
except TypeError:
# Internal error
return False
else:
# Loop through each call, one at a time. (Use a list rather than a
# generator to call all the partials, even in case of a failure.)
the_calls = [self.send(**kwargs2) for kwargs2 in send_calls]
return all(the_calls)
async def async_notify(self, *args, **kwargs):
"""
Performs notification for asynchronous callers
"""
try:
# Build a list of dictionaries that can be used to call send().
send_calls = list(self._build_send_calls(*args, **kwargs))
except TypeError:
# Internal error
return False
else:
loop = asyncio.get_event_loop()
# Wrap each call in a coroutine that uses the default executor.
# TODO: In the future, allow plugins to supply a native
# async_send() method.
async def do_send(**kwargs2):
send = partial(self.send, **kwargs2)
result = await loop.run_in_executor(None, send)
return result
# gather() all calls in parallel.
the_cors = (do_send(**kwargs2) for kwargs2 in send_calls)
return all(await asyncio.gather(*the_cors))
def _build_send_calls(self, body, title=None,
notify_type=NotifyType.INFO, overflow=None,
attach=None, body_format=None, **kwargs):
"""
Get a list of dictionaries that can be used to call send() or
(in the future) async_send().
""" """
if not self.enabled: if not self.enabled:
# Deny notifications issued to services that are disabled # Deny notifications issued to services that are disabled
self.logger.warning( msg = f"{self.service_name} is currently disabled on this system."
"{} is currently disabled on this system.".format( self.logger.warning(msg)
self.service_name)) raise TypeError(msg)
return False
# Prepare attachments if required # Prepare attachments if required
if attach is not None and not isinstance(attach, AppriseAttachment): if attach is not None and not isinstance(attach, AppriseAttachment):
@ -288,7 +337,7 @@ class NotifyBase(BASE_OBJECT):
except TypeError: except TypeError:
# bad attachments # bad attachments
return False raise
# Handle situations where the title is None # Handle situations where the title is None
title = '' if not title else title title = '' if not title else title
@ -299,14 +348,11 @@ class NotifyBase(BASE_OBJECT):
body_format=body_format): body_format=body_format):
# Send notification # Send notification
if not self.send(body=chunk['body'], title=chunk['title'], yield dict(
notify_type=notify_type, attach=attach, body=chunk['body'], title=chunk['title'],
body_format=body_format): notify_type=notify_type, attach=attach,
body_format=body_format
# Toggle our return status flag )
return False
return True
def _apply_overflow(self, body, title=None, overflow=None, def _apply_overflow(self, body, title=None, overflow=None,
body_format=None): body_format=None):

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import re import re
import requests import requests

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2022 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# To use this service you will need a BulkSMS account # To use this service you will need a BulkSMS account
# You will need credits (new accounts start with a few) # You will need credits (new accounts start with a few)

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# To use this plugin, simply signup with clicksend: # To use this plugin, simply signup with clicksend:
# https://www.clicksend.com/ # https://www.clicksend.com/

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# To use this service you will need a D7 Networks account from their website # To use this service you will need a D7 Networks account from their website
# at https://d7networks.com/ # at https://d7networks.com/

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
from __future__ import absolute_import from __future__ import absolute_import
from __future__ import print_function from __future__ import print_function

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# To use this plugin, sign up with Hampager (you need to be a licensed # To use this plugin, sign up with Hampager (you need to be a licensed
# ham radio operator # ham radio operator

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2020 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import re import re
import time import time

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# For this to work correctly you need to create a webhook. To do this just # For this to work correctly you need to create a webhook. To do this just
# click on the little gear icon next to the channel you're part of. From # click on the little gear icon next to the channel you're part of. From

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import dataclasses import dataclasses
import re import re

View file

@ -1,30 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# For this plugin to work correct, the Emby server must be set up to allow # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# for remote connections. # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# Emby Docker configuration: https://hub.docker.com/r/emby/embyserver/ # Emby Docker configuration: https://hub.docker.com/r/emby/embyserver/
# Authentication: https://github.com/MediaBrowser/Emby/wiki/Authentication # Authentication: https://github.com/MediaBrowser/Emby/wiki/Authentication

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# Sources # Sources
# - https://dreambox.de/en/ # - https://dreambox.de/en/

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2021 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# For this plugin to work correct, the FCM server must be set up to allow # For this plugin to work correct, the FCM server must be set up to allow
# for remote connections. # for remote connections.

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2021 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# New priorities are defined here: # New priorities are defined here:
# - https://firebase.google.com/docs/reference/fcm/rest/v1/\ # - https://firebase.google.com/docs/reference/fcm/rest/v1/\

View file

@ -1,27 +1,35 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2021 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
class FCMMode: class FCMMode:
""" """
Define the Firebase Cloud Messaging Modes Define the Firebase Cloud Messaging Modes

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2021 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# #
# To generate a private key file for your service account: # To generate a private key file for your service account:
# #

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2021 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# New priorities are defined here: # New priorities are defined here:
# - https://firebase.google.com/docs/reference/fcm/rest/v1/\ # - https://firebase.google.com/docs/reference/fcm/rest/v1/\

View file

@ -1,26 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CON # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import requests import requests

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# To use this plugin, you need to first access https://dev.flock.com/webhooks # To use this plugin, you need to first access https://dev.flock.com/webhooks
# Specifically https://dev.flock.com/webhooks/incoming # Specifically https://dev.flock.com/webhooks/incoming

View file

@ -1,28 +1,36 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2022 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import re
import requests import requests
from .NotifyBase import NotifyBase from .NotifyBase import NotifyBase
@ -38,7 +46,8 @@ METHODS = (
'GET', 'GET',
'DELETE', 'DELETE',
'PUT', 'PUT',
'HEAD' 'HEAD',
'PATCH'
) )
@ -47,6 +56,27 @@ class NotifyForm(NotifyBase):
A wrapper for Form Notifications A wrapper for Form Notifications
""" """
# Support
# - file*
# - file?
# - file*name
# - file?name
# - ?file
# - *file
# - file
# The code will convert the ? or * to the digit increments
__attach_as_re = re.compile(
r'((?P<match1>(?P<id1a>[a-z0-9_-]+)?'
r'(?P<wc1>[*?+$:.%]+)(?P<id1b>[a-z0-9_-]+))'
r'|(?P<match2>(?P<id2>[a-z0-9_-]+)(?P<wc2>[*?+$:.%]?)))',
re.IGNORECASE)
# Our count
attach_as_count = '{:02d}'
# the default attach_as value
attach_as_default = f'file{attach_as_count}'
# The default descriptive name associated with the Notification # The default descriptive name associated with the Notification
service_name = 'Form' service_name = 'Form'
@ -111,6 +141,12 @@ class NotifyForm(NotifyBase):
'values': METHODS, 'values': METHODS,
'default': METHODS[0], 'default': METHODS[0],
}, },
'attach-as': {
'name': _('Attach File As'),
'type': 'string',
'default': 'file*',
'map_to': 'attach_as',
},
}) })
# Define any kwargs we're using # Define any kwargs we're using
@ -130,7 +166,7 @@ class NotifyForm(NotifyBase):
} }
def __init__(self, headers=None, method=None, payload=None, params=None, def __init__(self, headers=None, method=None, payload=None, params=None,
**kwargs): attach_as=None, **kwargs):
""" """
Initialize Form Object Initialize Form Object
@ -152,6 +188,36 @@ class NotifyForm(NotifyBase):
self.logger.warning(msg) self.logger.warning(msg)
raise TypeError(msg) raise TypeError(msg)
# Custom File Attachment Over-Ride Support
if not isinstance(attach_as, str):
# Default value
self.attach_as = self.attach_as_default
self.attach_multi_support = True
else:
result = self.__attach_as_re.match(attach_as.strip())
if not result:
msg = 'The attach-as specified ({}) is invalid.'.format(
attach_as)
self.logger.warning(msg)
raise TypeError(msg)
self.attach_as = ''
self.attach_multi_support = False
if result.group('match1'):
if result.group('id1a'):
self.attach_as += result.group('id1a')
self.attach_as += self.attach_as_count
self.attach_multi_support = True
self.attach_as += result.group('id1b')
else: # result.group('match2'):
self.attach_as += result.group('id2')
if result.group('wc2'):
self.attach_as += self.attach_as_count
self.attach_multi_support = True
self.params = {} self.params = {}
if params: if params:
# Store our extra headers # Store our extra headers
@ -192,6 +258,10 @@ class NotifyForm(NotifyBase):
params.update( params.update(
{':{}'.format(k): v for k, v in self.payload_extras.items()}) {':{}'.format(k): v for k, v in self.payload_extras.items()})
if self.attach_as != self.attach_as_default:
# Provide Attach-As extension details
params['attach-as'] = self.attach_as
# Determine Authentication # Determine Authentication
auth = '' auth = ''
if self.user and self.password: if self.user and self.password:
@ -247,7 +317,8 @@ class NotifyForm(NotifyBase):
try: try:
files.append(( files.append((
'file{:02d}'.format(no), ( self.attach_as.format(no)
if self.attach_multi_support else self.attach_as, (
attachment.name, attachment.name,
open(attachment.path, 'rb'), open(attachment.path, 'rb'),
attachment.mimetype) attachment.mimetype)
@ -260,11 +331,10 @@ class NotifyForm(NotifyBase):
self.logger.debug('I/O Exception: %s' % str(e)) self.logger.debug('I/O Exception: %s' % str(e))
return False return False
finally: if not self.attach_multi_support and no > 1:
for file in files: self.logger.warning(
# Ensure all files are closed 'Multiple attachments provided while '
if file[1][1]: 'form:// Multi-Attachment Support not enabled')
file[1][1].close()
# prepare Form Object # prepare Form Object
payload = { payload = {
@ -308,6 +378,9 @@ class NotifyForm(NotifyBase):
elif self.method == 'PUT': elif self.method == 'PUT':
method = requests.put method = requests.put
elif self.method == 'PATCH':
method = requests.patch
elif self.method == 'DELETE': elif self.method == 'DELETE':
method = requests.delete method = requests.delete
@ -396,6 +469,12 @@ class NotifyForm(NotifyBase):
results['params'] = {NotifyForm.unquote(x): NotifyForm.unquote(y) results['params'] = {NotifyForm.unquote(x): NotifyForm.unquote(y)
for x, y in results['qsd-'].items()} for x, y in results['qsd-'].items()}
# Allow Attach-As Support which over-rides the name of the filename
# posted with the form://
# the default is file01, file02, file03, etc
if 'attach-as' in results['qsd'] and len(results['qsd']['attach-as']):
results['attach_as'] = results['qsd']['attach-as']
# Set method if not otherwise set # Set method if not otherwise set
if 'method' in results['qsd'] and len(results['qsd']['method']): if 'method' in results['qsd'] and len(results['qsd']['method']):
results['method'] = NotifyForm.unquote(results['qsd']['method']) results['method'] = NotifyForm.unquote(results['qsd']['method'])

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# Once you visit: https://developer.gitter.im/apps you'll get a personal # Once you visit: https://developer.gitter.im/apps you'll get a personal
# access token that will look something like this: # access token that will look something like this:

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
from __future__ import absolute_import from __future__ import absolute_import
from __future__ import print_function from __future__ import print_function

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2021 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# For this to work correctly you need to create a webhook. You'll also # For this to work correctly you need to create a webhook. You'll also
# need a GSuite account (there are free trials if you don't have one) # need a GSuite account (there are free trials if you don't have one)

View file

@ -1,30 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# For this plugin to work correct, the Gotify server must be set up to allow # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# for remote connections. # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# Gotify Docker configuration: https://hub.docker.com/r/gotify/server # Gotify Docker configuration: https://hub.docker.com/r/gotify/server
# Example: https://github.com/gotify/server/blob/\ # Example: https://github.com/gotify/server/blob/\

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2020 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# 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 .NotifyBase import NotifyBase
from ..URLBase import PrivacyMode from ..URLBase import PrivacyMode

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# For this to work correctly you need to create a webhook. To do this just # For this to work correctly you need to create a webhook. To do this just
# click on the little gear icon next to the channel you're part of. From # click on the little gear icon next to the channel you're part of. From

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2021 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# You must generate a "Long-Lived Access Token". This can be done from your # You must generate a "Long-Lived Access Token". This can be done from your
# Home Assistant Profile page. # Home Assistant Profile page.

View file

@ -1,29 +1,35 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# IFTTT (If-This-Then-That) # Apprise - Push Notification Library.
# Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Redistribution and use in source and binary forms, with or without
# All rights reserved. # modification, are permitted provided that the following conditions are met:
# #
# This code is licensed under the MIT License. # 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 2. Redistributions in binary form must reproduce the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer in the documentation
# in the Software without restriction, including without limitation the rights # and/or other materials provided with the distribution.
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 3. Neither the name of the copyright holder nor the names of its
# all copies or substantial portions of the Software. # contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# THE SOFTWARE. # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# #
# For this plugin to work, you need to add the Maker applet to your profile # For this plugin to work, you need to add the Maker applet to your profile
# Simply visit https://ifttt.com/search and search for 'Webhooks' # Simply visit https://ifttt.com/search and search for 'Webhooks'

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import requests import requests
import base64 import base64
@ -40,7 +47,8 @@ METHODS = (
'GET', 'GET',
'DELETE', 'DELETE',
'PUT', 'PUT',
'HEAD' 'HEAD',
'PATCH'
) )
@ -308,6 +316,9 @@ class NotifyJSON(NotifyBase):
elif self.method == 'PUT': elif self.method == 'PUT':
method = requests.put method = requests.put
elif self.method == 'PATCH':
method = requests.patch
elif self.method == 'DELETE': elif self.method == 'DELETE':
method = requests.delete method = requests.delete

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# Join URL: http://joaoapps.com/join/ # Join URL: http://joaoapps.com/join/
# To use this plugin, you need to first access (make sure your browser allows # To use this plugin, you need to first access (make sure your browser allows

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2020 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# To use this service you will need a Kavenegar account from their website # To use this service you will need a Kavenegar account from their website
# at https://kavenegar.com/ # at https://kavenegar.com/

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# To use this plugin, you must have a Kumulos account set up. Add a client # To use this plugin, you must have a Kumulos account set up. Add a client
# and link it with your phone using the phone app (using your Companion App # and link it with your phone using the phone app (using your Companion App

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2020 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# For LaMetric to work, you need to first setup a custom application on their # For LaMetric to work, you need to first setup a custom application on their
# website. it can be done as follows: # website. it can be done as follows:

View file

@ -1,27 +1,35 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2022 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# #
# API Docs: https://developers.line.biz/en/reference/messaging-api/ # API Docs: https://developers.line.biz/en/reference/messaging-api/

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2021 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# PAHO MQTT Documentation: # PAHO MQTT Documentation:
# https://www.eclipse.org/paho/index.php?page=clients/python/docs/index.php # https://www.eclipse.org/paho/index.php?page=clients/python/docs/index.php
@ -317,7 +324,7 @@ class NotifyMQTT(NotifyBase):
ciphers=None) ciphers=None)
# Set our TLS Verify Flag # Set our TLS Verify Flag
self.client.tls_insecure_set(self.verify_certificate) self.client.tls_insecure_set(not self.verify_certificate)
# Establish our connection # Establish our connection
if self.client.connect( if self.client.connect(

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# Create an account https://msg91.com/ if you don't already have one # Create an account https://msg91.com/ if you don't already have one
# #

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2020 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# To use this plugin, you need to create a webhook; you can read more about # To use this plugin, you need to create a webhook; you can read more about
# this here: # this here:

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2020 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
from __future__ import absolute_import from __future__ import absolute_import
from __future__ import print_function from __future__ import print_function

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# Signup @ https://www.mailgun.com/ # Signup @ https://www.mailgun.com/
# #

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2022 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import re import re
import requests import requests
@ -246,7 +253,7 @@ class NotifyMastodon(NotifyBase):
self.token = validate_regex(token) self.token = validate_regex(token)
if not self.token: if not self.token:
msg = 'An invalid Twitter Consumer Key was specified.' msg = 'An invalid Mastodon Access Token was specified.'
self.logger.warning(msg) self.logger.warning(msg)
raise TypeError(msg) raise TypeError(msg)

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# Great sources # Great sources
# - https://github.com/matrix-org/matrix-python-sdk # - https://github.com/matrix-org/matrix-python-sdk
@ -128,7 +135,14 @@ class NotifyMatrix(NotifyBase):
image_size = NotifyImageSize.XY_32 image_size = NotifyImageSize.XY_32
# The maximum allowable characters allowed in the body per message # The maximum allowable characters allowed in the body per message
body_maxlen = 1000 # https://spec.matrix.org/v1.6/client-server-api/#size-limits
# The complete event MUST NOT be larger than 65536 bytes, when formatted
# with the federation event format, including any signatures, and encoded
# as Canonical JSON.
#
# To gracefully allow for some overhead' we'll define a max body length
# of just slighty lower then the limit of the full message itself.
body_maxlen = 65000
# Throttle a wee-bit to avoid thrashing # Throttle a wee-bit to avoid thrashing
request_rate_per_sec = 0.5 request_rate_per_sec = 0.5

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# Create an incoming webhook; the website will provide you with something like: # Create an incoming webhook; the website will provide you with something like:
# http://localhost:8065/hooks/yobjmukpaw3r3urc5h6i369yima # http://localhost:8065/hooks/yobjmukpaw3r3urc5h6i369yima

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# Create an account https://messagebird.com if you don't already have one # Create an account https://messagebird.com if you don't already have one
# #

View file

@ -0,0 +1,310 @@
# -*- coding: utf-8 -*-
# BSD 3-Clause License
#
# Apprise - Push Notification Library.
# Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# 3. Neither the name of the copyright holder nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# 1. visit https://misskey-hub.net/ and see what it's all about if you want.
# Choose a service you want to create an account on from here:
# https://misskey-hub.net/en/instances.html
#
# - For this plugin, I tested using https://misskey.sda1.net and created an
# account.
#
# 2. Generate an API Key:
# - Settings > API > Generate Key
# - Name it whatever you want
# - Assign it 'AT LEAST':
# a. Compose or delete chat messages
# b. Compose or delete notes
#
#
# This plugin also supports taking the URL (as identified above) directly
# as well.
import requests
from json import dumps
from .NotifyBase import NotifyBase
from ..common import NotifyType
from ..utils import validate_regex
from ..AppriseLocale import gettext_lazy as _
class MisskeyVisibility:
"""
The visibility of any note created
"""
# post will be public
PUBLIC = 'public'
HOME = 'home'
FOLLOWERS = 'followers'
PRIVATE = 'private'
SPECIFIED = 'specified'
# Define the types in a list for validation purposes
MISSKEY_VISIBILITIES = (
MisskeyVisibility.PUBLIC,
MisskeyVisibility.HOME,
MisskeyVisibility.FOLLOWERS,
MisskeyVisibility.PRIVATE,
MisskeyVisibility.SPECIFIED,
)
class NotifyMisskey(NotifyBase):
"""
A wrapper for Misskey Notifications
"""
# The default descriptive name associated with the Notification
service_name = 'Misskey'
# The services URL
service_url = 'https://misskey-hub.net/'
# The default protocol
protocol = 'misskey'
# The default secure protocol
secure_protocol = 'misskeys'
# A URL that takes you to the setup/help of the specific protocol
setup_url = 'https://github.com/caronc/apprise/wiki/Notify_misskey'
# The title is not used
title_maxlen = 0
# The maximum allowable characters allowed in the body per message
body_maxlen = 512
# Define object templates
templates = (
'{schema}://{project_id}/{msghook}',
)
# Define object templates
templates = (
'{schema}://{token}@{host}',
'{schema}://{token}@{host}:{port}',
)
# Define our template arguments
# Define our template arguments
template_tokens = dict(NotifyBase.template_tokens, **{
'host': {
'name': _('Hostname'),
'type': 'string',
'required': True,
},
'token': {
'name': _('Access Token'),
'type': 'string',
'required': True,
},
'port': {
'name': _('Port'),
'type': 'int',
'min': 1,
'max': 65535,
},
})
# Define our template arguments
template_args = dict(NotifyBase.template_args, **{
'token': {
'alias_of': 'token',
},
'visibility': {
'name': _('Visibility'),
'type': 'choice:string',
'values': MISSKEY_VISIBILITIES,
'default': MisskeyVisibility.PUBLIC,
},
})
def __init__(self, token=None, visibility=None, **kwargs):
"""
Initialize Misskey Object
"""
super().__init__(**kwargs)
self.token = validate_regex(token)
if not self.token:
msg = 'An invalid Misskey Access Token was specified.'
self.logger.warning(msg)
raise TypeError(msg)
if visibility:
# Input is a string; attempt to get the lookup from our
# sound mapping
vis = 'invalid' if not isinstance(visibility, str) \
else visibility.lower().strip()
# This little bit of black magic allows us to match against
# against multiple versions of the same string ... etc
self.visibility = \
next((v for v in MISSKEY_VISIBILITIES
if v.startswith(vis)), None)
if self.visibility not in MISSKEY_VISIBILITIES:
msg = 'The Misskey visibility specified ({}) is invalid.' \
.format(visibility)
self.logger.warning(msg)
raise TypeError(msg)
else:
self.visibility = self.template_args['visibility']['default']
# Prepare our URL
self.schema = 'https' if self.secure else 'http'
self.api_url = '%s://%s' % (self.schema, self.host)
if isinstance(self.port, int):
self.api_url += ':%d' % self.port
return
def url(self, privacy=False, *args, **kwargs):
"""
Returns the URL built dynamically based on specified arguments.
"""
params = {
'visibility': self.visibility,
}
# Extend our parameters
params.update(self.url_parameters(privacy=privacy, *args, **kwargs))
host = self.host
if isinstance(self.port, int):
host += ':%d' % self.port
return '{schema}://{token}@{host}/?{params}'.format(
schema=self.secure_protocol if self.secure else self.protocol,
host=host,
token=self.pprint(self.token, privacy, safe=''),
params=NotifyMisskey.urlencode(params),
)
def send(self, body, title='', notify_type=NotifyType.INFO, **kwargs):
"""
wrapper to _send since we can alert more then one channel
"""
# prepare our headers
headers = {
'User-Agent': self.app_id,
'Content-Type': 'application/json',
}
# Prepare our payload
payload = {
'i': self.token,
'text': body,
'visibility': self.visibility,
}
api_url = f'{self.api_url}/api/notes/create'
self.logger.debug('Misskey GET URL: %s (cert_verify=%r)' % (
api_url, self.verify_certificate))
self.logger.debug('Misskey Payload: %s' % str(payload))
# Always call throttle before any remote server i/o is made
self.throttle()
try:
r = requests.post(
api_url,
headers=headers,
data=dumps(payload),
verify=self.verify_certificate,
timeout=self.request_timeout,
)
if r.status_code != requests.codes.ok:
# We had a problem
status_str = \
NotifyMisskey.http_response_code_lookup(r.status_code)
self.logger.warning(
'Failed to send Misskey notification: '
'{}{}error={}.'.format(
status_str,
', ' if status_str else '',
r.status_code))
self.logger.debug('Response Details:\r\n{}'.format(r.content))
# Return; we're done
return False
else:
self.logger.info('Sent Misskey notification.')
except requests.RequestException as e:
self.logger.warning(
'A Connection error occurred sending Misskey '
'notification.')
self.logger.debug('Socket Exception: %s' % str(e))
# Return; we're done
return False
return True
@staticmethod
def parse_url(url):
"""
Parses the URL and returns enough arguments that can allow
us to re-instantiate this object.
"""
results = NotifyBase.parse_url(url)
if not results:
# We're done early as we couldn't load the results
return results
if 'token' in results['qsd'] and len(results['qsd']['token']):
results['token'] = NotifyMisskey.unquote(results['qsd']['token'])
elif not results['password'] and results['user']:
results['token'] = NotifyMisskey.unquote(results['user'])
# Capture visibility if specified
if 'visibility' in results['qsd'] and \
len(results['qsd']['visibility']):
results['visibility'] = \
NotifyMisskey.unquote(results['qsd']['visibility'])
return results

View file

@ -1,26 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CON # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import requests import requests

View file

@ -1,26 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CON # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import requests import requests

View file

@ -1,26 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CON # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# 1. Simply visit https://notica.us # 1. Simply visit https://notica.us
# 2. You'll be provided a new variation of the website which will look # 2. You'll be provided a new variation of the website which will look

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# Notifico allows you to relay notifications into IRC channels. # Notifico allows you to relay notifications into IRC channels.
# #

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2022 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# Great sources # Great sources
# - https://github.com/matrix-org/matrix-python-sdk # - https://github.com/matrix-org/matrix-python-sdk
@ -40,8 +47,10 @@ from os.path import basename
from .NotifyBase import NotifyBase from .NotifyBase import NotifyBase
from ..common import NotifyType from ..common import NotifyType
from ..common import NotifyImageSize
from ..AppriseLocale import gettext_lazy as _ from ..AppriseLocale import gettext_lazy as _
from ..utils import parse_list from ..utils import parse_list
from ..utils import parse_bool
from ..utils import is_hostname from ..utils import is_hostname
from ..utils import is_ipaddr from ..utils import is_ipaddr
from ..utils import validate_regex from ..utils import validate_regex
@ -65,6 +74,27 @@ NTFY_MODES = (
NtfyMode.PRIVATE, NtfyMode.PRIVATE,
) )
# A Simple regular expression used to auto detect Auth mode if it isn't
# otherwise specified:
NTFY_AUTH_DETECT_RE = re.compile('tk_[^ \t]+', re.IGNORECASE)
class NtfyAuth:
"""
Define ntfy Authentication Modes
"""
# Basic auth (user and password provided)
BASIC = "basic"
# Auth Token based
TOKEN = "token"
NTFY_AUTH = (
NtfyAuth.BASIC,
NtfyAuth.TOKEN,
)
class NtfyPriority: class NtfyPriority:
""" """
@ -142,6 +172,9 @@ class NotifyNtfy(NotifyBase):
# Default upstream/cloud host if none is defined # Default upstream/cloud host if none is defined
cloud_notify_url = 'https://ntfy.sh' cloud_notify_url = 'https://ntfy.sh'
# Allows the user to specify the NotifyImageSize object
image_size = NotifyImageSize.XY_256
# Message time to live (if remote client isn't around to receive it) # Message time to live (if remote client isn't around to receive it)
time_to_live = 2419200 time_to_live = 2419200
@ -158,6 +191,8 @@ class NotifyNtfy(NotifyBase):
'{schema}://{user}@{host}:{port}/{targets}', '{schema}://{user}@{host}:{port}/{targets}',
'{schema}://{user}:{password}@{host}/{targets}', '{schema}://{user}:{password}@{host}/{targets}',
'{schema}://{user}:{password}@{host}:{port}/{targets}', '{schema}://{user}:{password}@{host}:{port}/{targets}',
'{schema}://{token}@{host}/{targets}',
'{schema}://{token}@{host}:{port}/{targets}',
) )
# Define our template tokens # Define our template tokens
@ -181,6 +216,11 @@ class NotifyNtfy(NotifyBase):
'type': 'string', 'type': 'string',
'private': True, 'private': True,
}, },
'token': {
'name': _('Token'),
'type': 'string',
'private': True,
},
'topic': { 'topic': {
'name': _('Topic'), 'name': _('Topic'),
'type': 'string', 'type': 'string',
@ -199,6 +239,16 @@ class NotifyNtfy(NotifyBase):
'name': _('Attach'), 'name': _('Attach'),
'type': 'string', 'type': 'string',
}, },
'image': {
'name': _('Include Image'),
'type': 'bool',
'default': True,
'map_to': 'include_image',
},
'avatar_url': {
'name': _('Avatar URL'),
'type': 'string',
},
'filename': { 'filename': {
'name': _('Attach Filename'), 'name': _('Attach Filename'),
'type': 'string', 'type': 'string',
@ -231,6 +281,15 @@ class NotifyNtfy(NotifyBase):
'values': NTFY_MODES, 'values': NTFY_MODES,
'default': NtfyMode.PRIVATE, 'default': NtfyMode.PRIVATE,
}, },
'token': {
'alias_of': 'token',
},
'auth': {
'name': _('Authentication Type'),
'type': 'choice:string',
'values': NTFY_AUTH,
'default': NtfyAuth.BASIC,
},
'to': { 'to': {
'alias_of': 'targets', 'alias_of': 'targets',
}, },
@ -238,6 +297,7 @@ class NotifyNtfy(NotifyBase):
def __init__(self, targets=None, attach=None, filename=None, click=None, def __init__(self, targets=None, attach=None, filename=None, click=None,
delay=None, email=None, priority=None, tags=None, mode=None, delay=None, email=None, priority=None, tags=None, mode=None,
include_image=True, avatar_url=None, auth=None, token=None,
**kwargs): **kwargs):
""" """
Initialize ntfy Object Initialize ntfy Object
@ -254,6 +314,20 @@ class NotifyNtfy(NotifyBase):
self.logger.warning(msg) self.logger.warning(msg)
raise TypeError(msg) raise TypeError(msg)
# Show image associated with notification
self.include_image = include_image
# Prepare our authentication type
self.auth = auth.strip().lower() \
if isinstance(auth, str) \
else self.template_args['auth']['default']
if self.auth not in NTFY_AUTH:
msg = 'An invalid ntfy Authentication type ({}) was specified.' \
.format(auth)
self.logger.warning(msg)
raise TypeError(msg)
# Attach a file (URL supported) # Attach a file (URL supported)
self.attach = attach self.attach = attach
@ -269,6 +343,9 @@ class NotifyNtfy(NotifyBase):
# An email to forward notifications to # An email to forward notifications to
self.email = email self.email = email
# Save our token
self.token = token
# The Priority of the message # The Priority of the message
self.priority = NotifyNtfy.template_args['priority']['default'] \ self.priority = NotifyNtfy.template_args['priority']['default'] \
if not priority else \ if not priority else \
@ -280,6 +357,11 @@ class NotifyNtfy(NotifyBase):
# Any optional tags to attach to the notification # Any optional tags to attach to the notification
self.__tags = parse_list(tags) self.__tags = parse_list(tags)
# Avatar URL
# This allows a user to provide an over-ride to the otherwise
# dynamically generated avatar url images
self.avatar_url = avatar_url
# Build list of topics # Build list of topics
topics = parse_list(targets) topics = parse_list(targets)
self.topics = [] self.topics = []
@ -308,6 +390,15 @@ class NotifyNtfy(NotifyBase):
self.logger.warning('There are no ntfy topics to notify') self.logger.warning('There are no ntfy topics to notify')
return False return False
# Acquire image_url
image_url = self.image_url(notify_type)
if self.include_image and (image_url or self.avatar_url):
image_url = \
self.avatar_url if self.avatar_url else image_url
else:
image_url = None
# Create a copy of the topics # Create a copy of the topics
topics = list(self.topics) topics = list(self.topics)
while len(topics) > 0: while len(topics) > 0:
@ -336,20 +427,23 @@ class NotifyNtfy(NotifyBase):
attachment.url(privacy=True))) attachment.url(privacy=True)))
okay, response = self._send( okay, response = self._send(
topic, body=_body, title=_title, attach=attachment) topic, body=_body, title=_title, image_url=image_url,
attach=attachment)
if not okay: if not okay:
# We can't post our attachment; abort immediately # We can't post our attachment; abort immediately
return False return False
else: else:
# Send our Notification Message # Send our Notification Message
okay, response = self._send(topic, body=body, title=title) okay, response = self._send(
topic, body=body, title=title, image_url=image_url)
if not okay: if not okay:
# Mark our failure, but contiue to move on # Mark our failure, but contiue to move on
has_error = True has_error = True
return not has_error return not has_error
def _send(self, topic, body=None, title=None, attach=None, **kwargs): def _send(self, topic, body=None, title=None, attach=None, image_url=None,
**kwargs):
""" """
Wrapper to the requests (post) object Wrapper to the requests (post) object
""" """
@ -376,9 +470,17 @@ class NotifyNtfy(NotifyBase):
else: # NotifyNtfy.PRVATE else: # NotifyNtfy.PRVATE
# Allow more settings to be applied now # Allow more settings to be applied now
if self.user: if self.auth == NtfyAuth.BASIC and self.user:
auth = (self.user, self.password) auth = (self.user, self.password)
elif self.auth == NtfyAuth.TOKEN:
if not self.token:
self.logger.warning('No Ntfy Token was specified')
return False, None
# Set Token
headers['Authorization'] = f'Bearer {self.token}'
# Prepare our ntfy Template URL # Prepare our ntfy Template URL
schema = 'https' if self.secure else 'http' schema = 'https' if self.secure else 'http'
@ -397,6 +499,9 @@ class NotifyNtfy(NotifyBase):
virt_payload = params virt_payload = params
notify_url += '/{topic}'.format(topic=topic) notify_url += '/{topic}'.format(topic=topic)
if image_url:
headers['X-Icon'] = image_url
if title: if title:
virt_payload['title'] = title virt_payload['title'] = title
@ -529,8 +634,13 @@ class NotifyNtfy(NotifyBase):
params = { params = {
'priority': self.priority, 'priority': self.priority,
'mode': self.mode, 'mode': self.mode,
'image': 'yes' if self.include_image else 'no',
'auth': self.auth,
} }
if self.avatar_url:
params['avatar_url'] = self.avatar_url
if self.attach is not None: if self.attach is not None:
params['attach'] = self.attach params['attach'] = self.attach
@ -550,15 +660,22 @@ class NotifyNtfy(NotifyBase):
# Determine Authentication # Determine Authentication
auth = '' auth = ''
if self.user and self.password: if self.auth == NtfyAuth.BASIC:
auth = '{user}:{password}@'.format( if self.user and self.password:
user=NotifyNtfy.quote(self.user, safe=''), auth = '{user}:{password}@'.format(
password=self.pprint( user=NotifyNtfy.quote(self.user, safe=''),
self.password, privacy, mode=PrivacyMode.Secret, safe=''), password=self.pprint(
) self.password, privacy, mode=PrivacyMode.Secret,
elif self.user: safe=''),
auth = '{user}@'.format( )
user=NotifyNtfy.quote(self.user, safe=''), elif self.user:
auth = '{user}@'.format(
user=NotifyNtfy.quote(self.user, safe=''),
)
elif self.token: # NtfyAuth.TOKEN also
auth = '{token}@'.format(
token=self.pprint(self.token, privacy, safe=''),
) )
if self.mode == NtfyMode.PRIVATE: if self.mode == NtfyMode.PRIVATE:
@ -623,6 +740,15 @@ class NotifyNtfy(NotifyBase):
results['tags'] = \ results['tags'] = \
parse_list(NotifyNtfy.unquote(results['qsd']['tags'])) parse_list(NotifyNtfy.unquote(results['qsd']['tags']))
# Boolean to include an image or not
results['include_image'] = parse_bool(results['qsd'].get(
'image', NotifyNtfy.template_args['image']['default']))
# Extract avatar url if it was specified
if 'avatar_url' in results['qsd']:
results['avatar_url'] = \
NotifyNtfy.unquote(results['qsd']['avatar_url'])
# Acquire our targets/topics # Acquire our targets/topics
results['targets'] = NotifyNtfy.split_path(results['fullpath']) results['targets'] = NotifyNtfy.split_path(results['fullpath'])
@ -631,6 +757,37 @@ class NotifyNtfy(NotifyBase):
results['targets'] += \ results['targets'] += \
NotifyNtfy.parse_list(results['qsd']['to']) NotifyNtfy.parse_list(results['qsd']['to'])
# Token Specified
if 'token' in results['qsd'] and len(results['qsd']['token']):
# Token presumed to be the one in use
results['auth'] = NtfyAuth.TOKEN
results['token'] = NotifyNtfy.unquote(results['qsd']['token'])
# Auth override
if 'auth' in results['qsd'] and results['qsd']['auth']:
results['auth'] = NotifyNtfy.unquote(
results['qsd']['auth'].strip().lower())
if not results.get('auth') and results['user'] \
and not results['password']:
# We can try to detect the authentication type on the formatting of
# the username. Look for tk_.*
#
# This isn't a surfire way to do things though; it's best to
# specify the auth= flag
results['auth'] = NtfyAuth.TOKEN \
if NTFY_AUTH_DETECT_RE.match(results['user']) \
else NtfyAuth.BASIC
if results.get('auth') == NtfyAuth.TOKEN and not results.get('token'):
if results['user'] and not results['password']:
# Make sure we properly set our token
results['token'] = NotifyNtfy.unquote(results['user'])
elif results['password']:
# Make sure we properly set our token
results['token'] = NotifyNtfy.unquote(results['password'])
# Mode override # Mode override
if 'mode' in results['qsd'] and results['qsd']['mode']: if 'mode' in results['qsd'] and results['qsd']['mode']:
results['mode'] = NotifyNtfy.unquote( results['mode'] = NotifyNtfy.unquote(

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2020 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# API Details: # API Details:
# https://docs.microsoft.com/en-us/previous-versions/office/\ # https://docs.microsoft.com/en-us/previous-versions/office/\

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2020 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# One Signal requires that you've signed up with the service and # One Signal requires that you've signed up with the service and
# generated yourself an API Key and APP ID. # generated yourself an API Key and APP ID.

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2020 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# Signup @ https://www.opsgenie.com # Signup @ https://www.opsgenie.com
# #

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2022 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# API Refererence: # API Refererence:
# - https://developer.pagerduty.com/api-reference/\ # - https://developer.pagerduty.com/api-reference/\

View file

@ -0,0 +1,424 @@
# -*- coding: utf-8 -*-
# BSD 3-Clause License
#
# Apprise - Push Notification Library.
# Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# 3. Neither the name of the copyright holder nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import requests
from json import dumps
from uuid import uuid4
from .NotifyBase import NotifyBase
from ..common import NotifyType
from ..utils import parse_list
from ..utils import validate_regex
from ..AppriseLocale import gettext_lazy as _
# Actions
class PagerTreeAction:
CREATE = 'create'
ACKNOWLEDGE = 'acknowledge'
RESOLVE = 'resolve'
# Urgencies
class PagerTreeUrgency:
SILENT = "silent"
LOW = "low"
MEDIUM = "medium"
HIGH = "high"
CRITICAL = "critical"
PAGERTREE_ACTIONS = {
PagerTreeAction.CREATE: 'create',
PagerTreeAction.ACKNOWLEDGE: 'acknowledge',
PagerTreeAction.RESOLVE: 'resolve',
}
PAGERTREE_URGENCIES = {
# Note: This also acts as a reverse lookup mapping
PagerTreeUrgency.SILENT: 'silent',
PagerTreeUrgency.LOW: 'low',
PagerTreeUrgency.MEDIUM: 'medium',
PagerTreeUrgency.HIGH: 'high',
PagerTreeUrgency.CRITICAL: 'critical',
}
# Extend HTTP Error Messages
PAGERTREE_HTTP_ERROR_MAP = {
402: 'Payment Required - Please subscribe or upgrade',
403: 'Forbidden - Blocked',
404: 'Not Found - Invalid Integration ID',
405: 'Method Not Allowed - Integration Disabled',
429: 'Too Many Requests - Rate Limit Exceeded',
}
class NotifyPagerTree(NotifyBase):
"""
A wrapper for PagerTree Notifications
"""
# The default descriptive name associated with the Notification
service_name = 'PagerTree'
# The services URL
service_url = 'https://pagertree.com/'
# All PagerTree requests are secure
secure_protocol = 'pagertree'
# A URL that takes you to the setup/help of the specific protocol
setup_url = 'https://github.com/caronc/apprise/wiki/Notify_pagertree'
# PagerTree uses the http protocol with JSON requests
notify_url = 'https://api.pagertree.com/integration/{}'
# Define object templates
templates = (
'{schema}://{integration}',
)
# Define our template tokens
template_tokens = dict(NotifyBase.template_tokens, **{
'integration': {
'name': _('Integration ID'),
'type': 'string',
'private': True,
'required': True,
}
})
# Define our template arguments
template_args = dict(NotifyBase.template_args, **{
'action': {
'name': _('Action'),
'type': 'choice:string',
'values': PAGERTREE_ACTIONS,
'default': PagerTreeAction.CREATE,
},
'thirdparty': {
'name': _('Third Party ID'),
'type': 'string',
},
'urgency': {
'name': _('Urgency'),
'type': 'choice:string',
'values': PAGERTREE_URGENCIES,
},
'tags': {
'name': _('Tags'),
'type': 'string',
},
})
# Define any kwargs we're using
template_kwargs = {
'headers': {
'name': _('HTTP Header'),
'prefix': '+',
},
'payload_extras': {
'name': _('Payload Extras'),
'prefix': ':',
},
'meta_extras': {
'name': _('Meta Extras'),
'prefix': '-',
},
}
def __init__(self, integration, action=None, thirdparty=None,
urgency=None, tags=None, headers=None,
payload_extras=None, meta_extras=None, **kwargs):
"""
Initialize PagerTree Object
"""
super().__init__(**kwargs)
# Integration ID (associated with account)
self.integration = \
validate_regex(integration, r'^int_[a-zA-Z0-9\-_]{7,14}$')
if not self.integration:
msg = 'An invalid PagerTree Integration ID ' \
'({}) was specified.'.format(integration)
self.logger.warning(msg)
raise TypeError(msg)
# thirdparty (optional, in case they want to pass the
# acknowledge or resolve action)
self.thirdparty = None
if thirdparty:
# An id was specified, we want to validate it
self.thirdparty = validate_regex(thirdparty)
if not self.thirdparty:
msg = 'An invalid PagerTree third party ID ' \
'({}) was specified.'.format(thirdparty)
self.logger.warning(msg)
raise TypeError(msg)
self.headers = {}
if headers:
# Store our extra headers
self.headers.update(headers)
self.payload_extras = {}
if payload_extras:
# Store our extra payload entries
self.payload_extras.update(payload_extras)
self.meta_extras = {}
if meta_extras:
# Store our extra payload entries
self.meta_extras.update(meta_extras)
# Setup our action
self.action = NotifyPagerTree.template_args['action']['default'] \
if action not in PAGERTREE_ACTIONS else \
PAGERTREE_ACTIONS[action]
# Setup our urgency
self.urgency = \
None if urgency not in PAGERTREE_URGENCIES else \
PAGERTREE_URGENCIES[urgency]
# Any optional tags to attach to the notification
self.__tags = parse_list(tags)
return
def send(self, body, title='', notify_type=NotifyType.INFO, **kwargs):
"""
Perform PagerTree Notification
"""
# Prepare our headers
headers = {
'User-Agent': self.app_id,
'Content-Type': 'application/json',
}
# Apply any/all header over-rides defined
# For things like PagerTree Token
headers.update(self.headers)
# prepare JSON Object
payload = {
# Generate an ID (unless one was explicitly forced to be used)
'id': self.thirdparty if self.thirdparty else str(uuid4()),
'event_type': self.action,
}
if self.action == PagerTreeAction.CREATE:
payload['title'] = title if title else self.app_desc
payload['description'] = body
payload['meta'] = self.meta_extras
payload['tags'] = self.__tags
if self.urgency is not None:
payload['urgency'] = self.urgency
# Apply any/all payload over-rides defined
payload.update(self.payload_extras)
# Prepare our URL based on integration
notify_url = self.notify_url.format(self.integration)
self.logger.debug('PagerTree POST URL: %s (cert_verify=%r)' % (
notify_url, self.verify_certificate,
))
self.logger.debug('PagerTree Payload: %s' % str(payload))
# Always call throttle before any remote server i/o is made
self.throttle()
try:
r = requests.post(
notify_url,
data=dumps(payload),
headers=headers,
verify=self.verify_certificate,
timeout=self.request_timeout,
)
if r.status_code not in (
requests.codes.ok, requests.codes.created,
requests.codes.accepted):
# We had a problem
status_str = \
NotifyPagerTree.http_response_code_lookup(
r.status_code)
self.logger.warning(
'Failed to send PagerTree notification: '
'{}{}error={}.'.format(
status_str,
', ' if status_str else '',
r.status_code))
self.logger.debug('Response Details:\r\n{}'.format(r.content))
# Return; we're done
return False
else:
self.logger.info('Sent PagerTree notification.')
except requests.RequestException as e:
self.logger.warning(
'A Connection error occurred sending PagerTree '
'notification to %s.' % self.host)
self.logger.debug('Socket Exception: %s' % str(e))
# Return; we're done
return False
return True
def url(self, privacy=False, *args, **kwargs):
"""
Returns the URL built dynamically based on specified arguments.
"""
# Define any URL parameters
params = {
'action': self.action,
}
if self.thirdparty:
params['tid'] = self.thirdparty
if self.urgency:
params['urgency'] = self.urgency
if self.__tags:
params['tags'] = ','.join([x for x in self.__tags])
# Extend our parameters
params.update(self.url_parameters(privacy=privacy, *args, **kwargs))
# Headers prefixed with a '+' sign
# Append our headers into our parameters
params.update({'+{}'.format(k): v for k, v in self.headers.items()})
# Meta: {} prefixed with a '-' sign
# Append our meta extras into our parameters
params.update(
{'-{}'.format(k): v for k, v in self.meta_extras.items()})
# Payload body extras prefixed with a ':' sign
# Append our payload extras into our parameters
params.update(
{':{}'.format(k): v for k, v in self.payload_extras.items()})
return '{schema}://{integration}?{params}'.format(
schema=self.secure_protocol,
# never encode hostname since we're expecting it to be a valid one
integration=self.pprint(self.integration, privacy, safe=''),
params=NotifyPagerTree.urlencode(params),
)
@staticmethod
def parse_url(url):
"""
Parses the URL and returns enough arguments that can allow
us to re-instantiate this object.
"""
results = NotifyBase.parse_url(url, verify_host=False)
if not results:
# We're done early as we couldn't load the results
return results
# Add our headers that the user can potentially over-ride if they wish
# to to our returned result set and tidy entries by unquoting them
results['headers'] = {
NotifyPagerTree.unquote(x): NotifyPagerTree.unquote(y)
for x, y in results['qsd+'].items()
}
# store any additional payload extra's defined
results['payload_extras'] = {
NotifyPagerTree.unquote(x): NotifyPagerTree.unquote(y)
for x, y in results['qsd:'].items()
}
# store any additional meta extra's defined
results['meta_extras'] = {
NotifyPagerTree.unquote(x): NotifyPagerTree.unquote(y)
for x, y in results['qsd-'].items()
}
# Integration ID
if 'id' in results['qsd'] and len(results['qsd']['id']):
# Shortened version of integration id
results['integration'] = \
NotifyPagerTree.unquote(results['qsd']['id'])
elif 'integration' in results['qsd'] and \
len(results['qsd']['integration']):
results['integration'] = \
NotifyPagerTree.unquote(results['qsd']['integration'])
else:
results['integration'] = \
NotifyPagerTree.unquote(results['host'])
# Set our thirdparty
if 'tid' in results['qsd'] and len(results['qsd']['tid']):
# Shortened version of thirdparty
results['thirdparty'] = \
NotifyPagerTree.unquote(results['qsd']['tid'])
elif 'thirdparty' in results['qsd'] and \
len(results['qsd']['thirdparty']):
results['thirdparty'] = \
NotifyPagerTree.unquote(results['qsd']['thirdparty'])
# Set our urgency
if 'action' in results['qsd'] and \
len(results['qsd']['action']):
results['action'] = \
NotifyPagerTree.unquote(results['qsd']['action'])
# Set our urgency
if 'urgency' in results['qsd'] and len(results['qsd']['urgency']):
results['urgency'] = \
NotifyPagerTree.unquote(results['qsd']['urgency'])
# Set our tags
if 'tags' in results['qsd'] and len(results['qsd']['tags']):
results['tags'] = \
parse_list(NotifyPagerTree.unquote(results['qsd']['tags']))
return results

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2020 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# Official API reference: https://developer.gitter.im/docs/user-resource # Official API reference: https://developer.gitter.im/docs/user-resource

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2020 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import requests import requests

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import requests import requests

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import requests import requests
from json import dumps from json import dumps

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import base64 import base64
import requests import requests

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import re import re
import requests import requests

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import requests import requests
from json import dumps from json import dumps

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import re import re
import requests import requests
@ -158,7 +165,7 @@ class NotifyPushover(NotifyBase):
notify_url = 'https://api.pushover.net/1/messages.json' notify_url = 'https://api.pushover.net/1/messages.json'
# The maximum allowable characters allowed in the body per message # The maximum allowable characters allowed in the body per message
body_maxlen = 512 body_maxlen = 1024
# Default Pushover sound # Default Pushover sound
default_pushover_sound = PushoverSound.PUSHOVER default_pushover_sound = PushoverSound.PUSHOVER

View file

@ -1,27 +1,35 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2021 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# #
# 1. Visit https://www.reddit.com/prefs/apps and scroll to the bottom # 1. Visit https://www.reddit.com/prefs/apps and scroll to the bottom
# 2. Click on the button that reads 'are you a developer? create an app...' # 2. Click on the button that reads 'are you a developer? create an app...'

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import re import re
import requests import requests

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# To use this plugin, you need to first generate a webhook. # To use this plugin, you need to first generate a webhook.

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2021 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# API Information: # API Information:
# - https://docs.aws.amazon.com/ses/latest/APIReference/API_SendRawEmail.html # - https://docs.aws.amazon.com/ses/latest/APIReference/API_SendRawEmail.html

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2022 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import re import re
import requests import requests

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2021 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# Signup @ https://smtp2go.com (free accounts available) # Signup @ https://smtp2go.com (free accounts available)
# #

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import re import re
import hmac import hmac

View file

@ -1,27 +1,35 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# #
# You will need an API Key for this plugin to work. # You will need an API Key for this plugin to work.
# From the Settings -> API Keys you can click "Create API Key" if you don't # From the Settings -> API Keys you can click "Create API Key" if you don't

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2020 Chris Caron <xuzheliang135@qq.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import re import re
import requests import requests

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2022 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
import re import re
import requests import requests

View file

@ -1,27 +1,35 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
from os import urandom from os import urandom
from json import loads from json import loads
import requests import requests

View file

@ -1,27 +1,34 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# BSD 3-Clause License
# #
# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> # Apprise - Push Notification Library.
# All rights reserved. # Copyright (c) 2023, Chris Caron <lead2gold@gmail.com>
# #
# This code is licensed under the MIT License. # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy # 1. Redistributions of source code must retain the above copyright notice,
# of this software and associated documentation files(the "Software"), to deal # this list of conditions and the following disclaimer.
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions :
# #
# The above copyright notice and this permission notice shall be included in # 2. Redistributions in binary form must reproduce the above copyright notice,
# all copies or substantial portions of the Software. # this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 3. Neither the name of the copyright holder nor the names of its
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # contributors may be used to endorse or promote products derived from
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE # this software without specific prior written permission.
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# THE SOFTWARE. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# To use this service you will need a Sinch account to which you can get your # To use this service you will need a Sinch account to which you can get your
# API_TOKEN and SERVICE_PLAN_ID right from your console/dashboard at: # API_TOKEN and SERVICE_PLAN_ID right from your console/dashboard at:

Some files were not shown because too many files have changed in this diff Show more