From 25d56d3fad6cee3af7e2e94308327bbf071c667b Mon Sep 17 00:00:00 2001 From: Chris Caron <lead2gold@gmail.com> Date: Sun, 10 Nov 2019 01:10:03 -0500 Subject: [PATCH 1/7] added attachment framework --- README.md | 2 +- apprise/Apprise.py | 14 +- apprise/AppriseAttachment.py | 229 ++++++++++++++++++++ apprise/__init__.py | 6 +- apprise/attachment/AttachBase.py | 250 ++++++++++++++++++++++ apprise/attachment/AttachFile.py | 123 +++++++++++ apprise/attachment/AttachHTTP.py | 314 ++++++++++++++++++++++++++++ apprise/attachment/__init__.py | 119 +++++++++++ apprise/cli.py | 10 +- apprise/plugins/NotifyBase.py | 4 +- test/test_apprise_attachments.py | 344 +++++++++++++++++++++++++++++++ test/test_attach_base.py | 92 +++++++++ test/test_attach_file.py | 151 ++++++++++++++ test/test_attach_http.py | 330 +++++++++++++++++++++++++++++ test/test_cli.py | 5 +- test/var/apprise-test.gif | Bin 0 -> 76646 bytes 16 files changed, 1982 insertions(+), 11 deletions(-) create mode 100644 apprise/AppriseAttachment.py create mode 100644 apprise/attachment/AttachBase.py create mode 100644 apprise/attachment/AttachFile.py create mode 100644 apprise/attachment/AttachHTTP.py create mode 100644 apprise/attachment/__init__.py create mode 100644 test/test_apprise_attachments.py create mode 100644 test/test_attach_base.py create mode 100644 test/test_attach_file.py create mode 100644 test/test_attach_http.py create mode 100644 test/var/apprise-test.gif diff --git a/README.md b/README.md index d5d7b873..54714d61 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ To inform or tell (someone). To make one aware of something. * One notification library to rule them all. * A common and intuitive notification syntax. -* Supports the handling of images (to the notification services that will accept them). +* Supports the handling of images and attachments (to the notification services that will accept them). System owners who wish to provide a notification service no longer need to research each and every new one as they appear. They just need to include this one library and then they can immediately gain access to almost all of the notifications services available to us today. diff --git a/apprise/Apprise.py b/apprise/Apprise.py index aedae74a..b0445e82 100644 --- a/apprise/Apprise.py +++ b/apprise/Apprise.py @@ -38,6 +38,7 @@ from .logger import logger from .AppriseAsset import AppriseAsset from .AppriseConfig import AppriseConfig +from .AppriseAttachment import AppriseAttachment from .AppriseLocale import AppriseLocale from .config.ConfigBase import ConfigBase from .plugins.NotifyBase import NotifyBase @@ -277,7 +278,7 @@ class Apprise(object): return def notify(self, body, title='', notify_type=NotifyType.INFO, - body_format=None, tag=MATCH_ALL_TAG): + body_format=None, tag=MATCH_ALL_TAG, attach=None): """ Send a notification to all of the plugins previously loaded. @@ -293,6 +294,10 @@ class Apprise(object): sent, False if even just one of them fails, and None if no notifications were sent at all as a result of tag filtering and/or simply having empty configuration files that were read. + + Attach can contain a list of attachment URLs. attach can also be + represented by a an AttachBase() (or list of) object(s). This + identifies the products you wish to notify """ if len(self) == 0: @@ -309,6 +314,10 @@ class Apprise(object): # Tracks conversions conversion_map = dict() + # Prepare attachments + if attach is not None and not isinstance(attach, AppriseAttachment): + attach = AppriseAttachment(attach, asset=self.asset) + # Iterate over our loaded plugins for server in self.find(tag): if status is None: @@ -371,7 +380,8 @@ class Apprise(object): if not server.notify( body=conversion_map[server.notify_format], title=title, - notify_type=notify_type): + notify_type=notify_type, + attach=attach): # Toggle our return status flag status = False diff --git a/apprise/AppriseAttachment.py b/apprise/AppriseAttachment.py new file mode 100644 index 00000000..68319365 --- /dev/null +++ b/apprise/AppriseAttachment.py @@ -0,0 +1,229 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> +# All rights reserved. +# +# This code is licensed under the MIT License. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files(the "Software"), to deal +# 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 +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + +import six + +from . import attachment +from . import AttachBase +from . import URLBase +from .AppriseAsset import AppriseAsset +from .logger import logger +from .utils import GET_SCHEMA_RE + + +class AppriseAttachment(object): + """ + Our Apprise Attachment File Manager + + """ + + def __init__(self, paths=None, asset=None, **kwargs): + """ + Loads all of the paths/urls specified (if any). + + The path can either be a single string identifying one explicit + location, otherwise you can pass in a series of locations to scan + via a list. + """ + + # Initialize our attachment listings + self.attachments = list() + + # Prepare our Asset Object + self.asset = \ + asset if isinstance(asset, AppriseAsset) else AppriseAsset() + + # Now parse any paths specified + if paths is not None: + # Store our path(s) + self.add(paths) + + def add(self, attachments, asset=None, db=None): + """ + Adds one or more attachments into our list. + + """ + # Initialize our return status + return_status = True + + if isinstance(asset, AppriseAsset): + # prepare default asset + asset = self.asset + + if isinstance(attachments, AttachBase): + # Go ahead and just add our attachments into our list + self.attachments.append(attachments) + return True + + elif isinstance(attachments, six.string_types): + # Save our path + attachments = (attachments, ) + + elif not isinstance(attachments, (tuple, set, list)): + logger.error( + 'An invalid attachment url (type={}) was ' + 'specified.'.format(type(attachments))) + return False + + # Iterate over our attachments + for _attachment in attachments: + + if isinstance(_attachment, AttachBase): + # Go ahead and just add our attachment into our list + self.attachments.append(_attachment) + continue + + elif not isinstance(_attachment, six.string_types): + logger.warning( + "An invalid attachment (type={}) was specified.".format( + type(_attachment))) + return_status = False + continue + + logger.debug("Loading attachment: {}".format(_attachment)) + + # Instantiate ourselves an object, this function throws or + # returns None if it fails + instance = AppriseAttachment.instantiate(_attachment, asset=asset) + if not isinstance(instance, AttachBase): + return_status = False + continue + + # Add our initialized plugin to our server listings + self.attachments.append(instance) + + # Return our status + return return_status + + @staticmethod + def instantiate(url, asset=None, suppress_exceptions=True): + """ + Returns the instance of a instantiated attachment plugin based on + the provided Attachment URL. If the url fails to be parsed, then None + is returned. + + """ + # Attempt to acquire the schema at the very least to allow our + # attachment based urls. + schema = GET_SCHEMA_RE.match(url) + if schema is None: + # Plan B is to assume we're dealing with a file + schema = attachment.AttachFile.protocol + url = '{}://{}'.format(schema, URLBase.quote(url)) + + else: + # Ensure our schema is always in lower case + schema = schema.group('schema').lower() + + # Some basic validation + if schema not in attachment.SCHEMA_MAP: + logger.warning('Unsupported schema {}.'.format(schema)) + return None + + # Parse our url details of the server object as dictionary containing + # all of the information parsed from our URL + results = attachment.SCHEMA_MAP[schema].parse_url(url) + + if not results: + # Failed to parse the server URL + logger.warning('Unparseable URL {}.'.format(url)) + return None + + # Prepare our Asset Object + results['asset'] = \ + asset if isinstance(asset, AppriseAsset) else AppriseAsset() + + if suppress_exceptions: + try: + # Attempt to create an instance of our plugin using the parsed + # URL information + attach_plugin = \ + attachment.SCHEMA_MAP[results['schema']](**results) + + except Exception: + # the arguments are invalid or can not be used. + logger.warning('Could not load URL: %s' % url) + return None + + else: + # Attempt to create an instance of our plugin using the parsed + # URL information but don't wrap it in a try catch + attach_plugin = attachment.SCHEMA_MAP[results['schema']](**results) + + return attach_plugin + + def clear(self): + """ + Empties our attachment list + + """ + self.attachments[:] = [] + + def size(self): + """ + Returns the total size of accumulated attachments + """ + return sum([len(a) for a in self.attachments if len(a) > 0]) + + def pop(self, index=-1): + """ + Removes an indexed Apprise Attachment from the stack and returns it. + + by default the last element is poped from the list + """ + # Remove our entry + return self.attachments.pop(index) + + def __getitem__(self, index): + """ + Returns the indexed entry of a loaded apprise attachments + """ + return self.attachments[index] + + def __bool__(self): + """ + Allows the Apprise object to be wrapped in an Python 3.x based 'if + statement'. True is returned if at least one service has been loaded. + """ + return True if self.attachments else False + + def __nonzero__(self): + """ + Allows the Apprise object to be wrapped in an Python 2.x based 'if + statement'. True is returned if at least one service has been loaded. + """ + return True if self.attachments else False + + def __iter__(self): + """ + Returns an iterator to our attachment list + """ + return iter(self.attachments) + + def __len__(self): + """ + Returns the number of attachment entries loaded + """ + return len(self.attachments) diff --git a/apprise/__init__.py b/apprise/__init__.py index 53c96258..0b055d7f 100644 --- a/apprise/__init__.py +++ b/apprise/__init__.py @@ -46,10 +46,12 @@ from .URLBase import URLBase from .URLBase import PrivacyMode from .plugins.NotifyBase import NotifyBase from .config.ConfigBase import ConfigBase +from .attachment.AttachBase import AttachBase from .Apprise import Apprise from .AppriseAsset import AppriseAsset from .AppriseConfig import AppriseConfig +from .AppriseAttachment import AppriseAttachment # Set default logging handler to avoid "No handler found" warnings. import logging @@ -58,8 +60,8 @@ logging.getLogger(__name__).addHandler(NullHandler()) __all__ = [ # Core - 'Apprise', 'AppriseAsset', 'AppriseConfig', 'URLBase', 'NotifyBase', - 'ConfigBase', + 'Apprise', 'AppriseAsset', 'AppriseConfig', 'AppriseAttachment', 'URLBase', + 'NotifyBase', 'ConfigBase', 'AttachBase', # Reference 'NotifyType', 'NotifyImageSize', 'NotifyFormat', 'OverflowMode', diff --git a/apprise/attachment/AttachBase.py b/apprise/attachment/AttachBase.py new file mode 100644 index 00000000..8fdd53af --- /dev/null +++ b/apprise/attachment/AttachBase.py @@ -0,0 +1,250 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> +# All rights reserved. +# +# This code is licensed under the MIT License. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files(the "Software"), to deal +# 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 +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + +import os +import mimetypes +from ..URLBase import URLBase + + +class AttachBase(URLBase): + """ + This is the base class for all supported attachment types + """ + + # For attachment type detection; this amount of data is read into memory + # 128KB (131072B) + max_detect_buffer_size = 131072 + + # Unknown mimetype + unknown_mimetype = 'application/octet-stream' + + # Our filename when we can't otherwise determine one + unknown_filename = 'apprise-attachment' + + # Our filename extension when we can't otherwise determine one + unknown_filename_extension = '.obj' + + # The strict argument is a flag specifying whether the list of known MIME + # types is limited to only the official types registered with IANA. When + # strict is True, only the IANA types are supported; when strict is False + # (the default), some additional non-standard but commonly used MIME types + # are also recognized. + strict = False + + # The maximum file-size we will accept for an attachment size. If this is + # set to zero (0), then no check is performed + # 1 MB = 1048576 bytes + # 5 MB = 5242880 bytes + max_file_size = 5242880 + + def __init__(self, name=None, mimetype=None, **kwargs): + """ + Initialize some general logging and common server arguments that will + keep things consistent when working with the configurations that + inherit this class. + + Optionally provide a filename to over-ride name associated with the + actual file retrieved (from where-ever). + + The mime-type is automatically detected, but you can over-ride this by + explicitly stating what it should be. + """ + + super(AttachBase, self).__init__(**kwargs) + + if not mimetypes.inited: + # Ensure mimetypes has been initialized + mimetypes.init() + + # Attach Filename (does not have to be the same as path) + self._name = name + + # The mime type of the attached content. This is detected if not + # otherwise specified. + self._mimetype = mimetype + + # The detected_mimetype, this is only used as a fallback if the + # mimetype wasn't forced by the user + self.detected_mimetype = None + + # The detected filename by calling child class. A detected filename + # is always used if no force naming was specified. + self.detected_name = None + + # Absolute path to attachment + self.download_path = None + + # Validate mimetype if specified + if self._mimetype: + if next((t for t in mimetypes.types_map.values() + if self._mimetype == t), None) is None: + err = 'An invalid mime-type ({}) was specified.'.format( + mimetype) + self.logger.warning(err) + raise TypeError(err) + + return + + @property + def path(self): + """ + Returns the absolute path to the filename + """ + if self.download_path: + # return our fixed content + return self.download_path + + if not self.download(): + return None + + return self.download_path + + @property + def name(self): + """ + Returns the filename + """ + if self._name: + # return our fixed content + return self._name + + if not self.detected_name and not self.download(): + # we could not obtain our name + return None + + if not self.detected_name: + # If we get here, our download was successful but we don't have a + # filename based on our content. + extension = mimetypes.guess_extension(self.mimetype) + self.detected_name = '{}{}'.format( + self.unknown_filename, + extension if extension else self.unknown_filename_extension) + + return self.detected_name + + @property + def mimetype(self): + """ + Returns mime type (if one is present). + + Content is cached once determied to prevent overhead of future + calls. + """ + + if self._mimetype: + # return our pre-calculated cached content + return self._mimetype + + if not self.detected_mimetype and not self.download(): + # we could not obtain our name + return None + + if not self.detected_mimetype: + # guess_type() returns: (type, encoding) and sets type to None + # if it can't otherwise determine it. + try: + # Directly reference _name and detected_name to prevent + # recursion loop (as self.name calls this function) + self.detected_mimetype, _ = mimetypes.guess_type( + self._name if self._name + else self.detected_name, strict=self.strict) + + except TypeError: + # Thrown if None was specified in filename section + pass + + # Return our mime type + return self.detected_mimetype \ + if self.detected_mimetype else self.unknown_mimetype + + def download(self): + """ + This function must be over-ridden by inheriting classes. + + Inherited classes should populate: + - detected_name : Should identify a human readable filename + - download_path: Must contain a absolute path to content + - detected_mimetype: Should identify mimetype of content + """ + raise NotImplementedError( + "download() is implimented by the child class.") + + @staticmethod + def parse_url(url, verify_host=True, mimetype_db=None): + """Parses the URL and returns it broken apart into a dictionary. + + This is very specific and customized for Apprise. + + Args: + url (str): The URL you want to fully parse. + verify_host (:obj:`bool`, optional): a flag kept with the parsed + URL which some child classes will later use to verify SSL + keys (if SSL transactions take place). Unless under very + specific circumstances, it is strongly recomended that + you leave this default value set to True. + + Returns: + A dictionary is returned containing the URL fully parsed if + successful, otherwise None is returned. + """ + + results = URLBase.parse_url(url, verify_host=verify_host) + + if not results: + # We're done; we failed to parse our url + return results + + # Allow overriding the default config mime type + if 'mime' in results['qsd']: + results['mimetype'] = results['qsd'].get('mime', '') \ + .strip().lower() + + # Allow overriding the default file name + if 'name' in results['qsd']: + results['name'] = results['qsd'].get('name', '') \ + .strip().lower() + + return results + + def __len__(self): + """ + Returns the filesize of the attachment. + + """ + return os.path.getsize(self.path) if self.path else 0 + + def __bool__(self): + """ + Allows the Apprise object to be wrapped in an Python 3.x based 'if + statement'. True is returned if our content was downloaded correctly. + """ + return True if self.path else False + + def __nonzero__(self): + """ + Allows the Apprise object to be wrapped in an Python 2.x based 'if + statement'. True is returned if our content was downloaded correctly. + """ + return True if self.path else False diff --git a/apprise/attachment/AttachFile.py b/apprise/attachment/AttachFile.py new file mode 100644 index 00000000..dfcf1226 --- /dev/null +++ b/apprise/attachment/AttachFile.py @@ -0,0 +1,123 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> +# All rights reserved. +# +# This code is licensed under the MIT License. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files(the "Software"), to deal +# 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 +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + +import re +import os +from .AttachBase import AttachBase +from ..AppriseLocale import gettext_lazy as _ + + +class AttachFile(AttachBase): + """ + A wrapper for File based attachment sources + """ + + # The default descriptive name associated with the service + service_name = _('Local File') + + # The default protocol + protocol = 'file' + + def __init__(self, path, **kwargs): + """ + Initialize Local File Attachment Object + + """ + super(AttachFile, self).__init__(**kwargs) + + # Store path but mark it dirty since we have not performed any + # verification at this point. + self.dirty_path = os.path.expanduser(path) + return + + def url(self, privacy=False, *args, **kwargs): + """ + Returns the URL built dynamically based on specified arguments. + """ + + # Define any arguments set + args = {} + + if self._mimetype: + # A mime-type was enforced + args['mime'] = self._mimetype + + if self._name: + # A name was enforced + args['name'] = self._name + + return 'file://{path}{args}'.format( + path=self.quote(self.dirty_path), + args='?{}'.format(self.urlencode(args)) if args else '', + ) + + def download(self, **kwargs): + """ + Perform retrieval of our data. + + For file base attachments, our data already exists, so we only need to + validate it. + """ + + if not os.path.isfile(self.dirty_path): + return False + + if self.max_file_size > 0 and \ + os.path.getsize(self.dirty_path) > self.max_file_size: + + # The content to attach is to large + self.logger.error( + 'Content exceeds allowable maximum file length ' + '({}KB): {}'.format( + int(self.max_file_size / 1024), self.url(privacy=True))) + + # Return False (signifying a failure) + return False + + # We're good to go if we get here. Set our minimum requirements of + # a call do download() before returning a success + self.download_path = self.dirty_path + self.detected_name = os.path.basename(self.download_path) + return True + + @staticmethod + def parse_url(url): + """ + Parses the URL so that we can handle all different file paths + and return it as our path object + + """ + + results = AttachBase.parse_url(url, verify_host=False) + if not results: + # We're done early; it's not a good URL + return results + + match = re.match(r'file://(?P<path>[^?]+)(\?.*)?', url, re.I) + if not match: + return None + + results['path'] = AttachFile.unquote(match.group('path')) + return results diff --git a/apprise/attachment/AttachHTTP.py b/apprise/attachment/AttachHTTP.py new file mode 100644 index 00000000..7148e340 --- /dev/null +++ b/apprise/attachment/AttachHTTP.py @@ -0,0 +1,314 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> +# All rights reserved. +# +# This code is licensed under the MIT License. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files(the "Software"), to deal +# 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 +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + +import re +import os +import six +import requests +from tempfile import NamedTemporaryFile +from .AttachBase import AttachBase +from ..URLBase import PrivacyMode +from ..AppriseLocale import gettext_lazy as _ + + +class AttachHTTP(AttachBase): + """ + A wrapper for HTTP based attachment sources + """ + + # The default descriptive name associated with the service + service_name = _('Web Based') + + # The default protocol + protocol = 'http' + + # The default secure protocol + secure_protocol = 'https' + + # The maximum number of seconds to wait for a connection to be established + # before out-right just giving up + connection_timeout_sec = 5.0 + + # The number of bytes in memory to read from the remote source at a time + chunk_size = 8192 + + def __init__(self, headers=None, **kwargs): + """ + Initialize HTTP Object + + headers can be a dictionary of key/value pairs that you want to + additionally include as part of the server headers to post with + + """ + super(AttachHTTP, self).__init__(**kwargs) + + self.schema = 'https' if self.secure else 'http' + + self.fullpath = kwargs.get('fullpath') + if not isinstance(self.fullpath, six.string_types): + self.fullpath = '/' + + self.headers = {} + if headers: + # Store our extra headers + self.headers.update(headers) + + # Where our content is written to upon a call to download. + self._temp_file = None + + return + + def download(self, **kwargs): + """ + Perform retrieval of the configuration based on the specified request + """ + + if self._temp_file is not None: + # There is nothing to do; we're already pointing at our downloaded + # content + return True + + # prepare header + headers = { + 'User-Agent': self.app_id, + } + + # Apply any/all header over-rides defined + headers.update(self.headers) + + auth = None + if self.user: + auth = (self.user, self.password) + + url = '%s://%s' % (self.schema, self.host) + if isinstance(self.port, int): + url += ':%d' % self.port + + url += self.fullpath + + self.logger.debug('HTTP POST URL: %s (cert_verify=%r)' % ( + url, self.verify_certificate, + )) + + # Where our request object will temporarily live. + r = None + + # Always call throttle before any remote server i/o is made + self.throttle() + + try: + # Make our request + with requests.get( + url, + headers=headers, + auth=auth, + verify=self.verify_certificate, + timeout=self.connection_timeout_sec, + stream=True) as r: + + # Handle Errors + r.raise_for_status() + + # Store our response if within reason + if self.max_file_size > 0 \ + and r.headers.get( + 'Content-Length', 0) > self.max_file_size: + + # The content retrieved is to large + self.logger.error( + 'HTTP response exceeds allowable maximum file length ' + '({}KB): {}'.format( + int(self.max_file_size / 1024), + self.url(privacy=True))) + + # Return False (signifying a failure) + return False + + # Detect config format based on mime if the format isn't + # already enforced + self.detected_mimetype = r.headers.get('Content-Type') + + d = r.headers.get('Content-Disposition', '') + result = re.search( + "filename=['\"]?(?P<name>[^'\"]+)['\"]?", d, re.I) + if result: + self.detected_name = result.group('name').strip() + + # Create a temporary file to work with + self._temp_file = NamedTemporaryFile() + + # Get our chunk size + chunk_size = self.chunk_size + + # Track all bytes written to disk + bytes_written = 0 + + # If we get here, we can now safely write our content to disk + for chunk in r.iter_content(chunk_size=chunk_size): + # filter out keep-alive chunks + if chunk: + self._temp_file.write(chunk) + bytes_written = self._temp_file.tell() + + # Prevent a case where Content-Length isn't provided + # we don't want to fetch beyond our limits + if self.max_file_size > 0: + if bytes_written > self.max_file_size: + # The content retrieved is to large + self.logger.error( + 'HTTP response exceeds allowable maximum ' + 'file length ({}KB): {}'.format( + int(self.max_file_size / 1024), + self.url(privacy=True))) + + # Reset our temporary object + self._temp_file = None + + # Ensure our detected name and mimetype are + # reset + self.detected_name = None + self.detected_mimetype = None + + # Return False (signifying a failure) + return False + + elif bytes_written + chunk_size \ + > self.max_file_size: + # Adjust out next read to accomodate up to our + # limit +1. This will prevent us from readig + # to much into our memory buffer + self.max_file_size - bytes_written + 1 + + # Ensure our content is flushed to disk for post-processing + self._temp_file.flush() + + # Set our minimum requirements for a successful download() call + self.download_path = self._temp_file.name + if not self.detected_name: + self.detected_name = os.path.basename(self.fullpath) + + except requests.RequestException as e: + self.logger.error( + 'A Connection error occured retrieving HTTP ' + 'configuration from %s.' % self.host) + self.logger.debug('Socket Exception: %s' % str(e)) + + # Reset our temporary object + self._temp_file = None + + # Ensure our detected name and mimetype are reset + self.detected_name = None + self.detected_mimetype = None + + # Return False (signifying a failure) + return False + + except (IOError, OSError): + # IOError is present for backwards compatibility with Python + # versions older then 3.3. >= 3.3 throw OSError now. + + # Could not open and/or write the temporary file + self.logger.error( + 'Could not write attachment to disk: {}'.format( + self.url(privacy=True))) + + # Reset our temporary object + self._temp_file = None + + # Ensure our detected name and mimetype are reset + self.detected_name = None + self.detected_mimetype = None + + # Return False (signifying a failure) + return False + + # Return our success + return True + + def url(self, privacy=False, *args, **kwargs): + """ + Returns the URL built dynamically based on specified arguments. + """ + + # Define any arguments set + args = { + 'verify': 'yes' if self.verify_certificate else 'no', + } + + if self._mimetype: + # A format was enforced + args['mime'] = self._mimetype + + if self._name: + # A name was enforced + args['name'] = self._name + + # Append our headers into our args + args.update({'+{}'.format(k): v for k, v in self.headers.items()}) + + # Determine Authentication + auth = '' + if self.user and self.password: + auth = '{user}:{password}@'.format( + user=self.quote(self.user, safe=''), + password=self.pprint( + self.password, privacy, mode=PrivacyMode.Secret, safe=''), + ) + elif self.user: + auth = '{user}@'.format( + user=self.quote(self.user, safe=''), + ) + + default_port = 443 if self.secure else 80 + + return '{schema}://{auth}{hostname}{port}{fullpath}/?{args}'.format( + schema=self.secure_protocol if self.secure else self.protocol, + auth=auth, + hostname=self.quote(self.host, safe=''), + port='' if self.port is None or self.port == default_port + else ':{}'.format(self.port), + fullpath=self.quote(self.fullpath, safe='/'), + args=self.urlencode(args), + ) + + @staticmethod + def parse_url(url): + """ + Parses the URL and returns enough arguments that can allow + us to substantiate this object. + + """ + results = AttachBase.parse_url(url) + + 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 + results['headers'] = results['qsd-'] + results['headers'].update(results['qsd+']) + + return results diff --git a/apprise/attachment/__init__.py b/apprise/attachment/__init__.py new file mode 100644 index 00000000..da6dbbf1 --- /dev/null +++ b/apprise/attachment/__init__.py @@ -0,0 +1,119 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> +# All rights reserved. +# +# This code is licensed under the MIT License. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files(the "Software"), to deal +# 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 +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + +import six +import re + +from os import listdir +from os.path import dirname +from os.path import abspath + +# Maintains a mapping of all of the attachment services +SCHEMA_MAP = {} + +__all__ = [] + + +# Load our Lookup Matrix +def __load_matrix(path=abspath(dirname(__file__)), name='apprise.attachment'): + """ + Dynamically load our schema map; this allows us to gracefully + skip over modules we simply don't have the dependencies for. + + """ + # Used for the detection of additional Attachment Services objects + # The .py extension is optional as we support loading directories too + module_re = re.compile(r'^(?P<name>Attach[a-z0-9]+)(\.py)?$', re.I) + + for f in listdir(path): + match = module_re.match(f) + if not match: + # keep going + continue + + # Store our notification/plugin name: + plugin_name = match.group('name') + try: + module = __import__( + '{}.{}'.format(name, plugin_name), + globals(), locals(), + fromlist=[plugin_name]) + + except ImportError: + # No problem, we can't use this object + continue + + if not hasattr(module, plugin_name): + # Not a library we can load as it doesn't follow the simple rule + # that the class must bear the same name as the notification + # file itself. + continue + + # Get our plugin + plugin = getattr(module, plugin_name) + if not hasattr(plugin, 'app_id'): + # Filter out non-notification modules + continue + + elif plugin_name in __all__: + # we're already handling this object + continue + + # Add our module name to our __all__ + __all__.append(plugin_name) + + # Ensure we provide the class as the reference to this directory and + # not the module: + globals()[plugin_name] = plugin + + # Load protocol(s) if defined + proto = getattr(plugin, 'protocol', None) + if isinstance(proto, six.string_types): + if proto not in SCHEMA_MAP: + SCHEMA_MAP[proto] = plugin + + elif isinstance(proto, (set, list, tuple)): + # Support iterables list types + for p in proto: + if p not in SCHEMA_MAP: + SCHEMA_MAP[p] = plugin + + # Load secure protocol(s) if defined + protos = getattr(plugin, 'secure_protocol', None) + if isinstance(protos, six.string_types): + if protos not in SCHEMA_MAP: + SCHEMA_MAP[protos] = plugin + + if isinstance(protos, (set, list, tuple)): + # Support iterables list types + for p in protos: + if p not in SCHEMA_MAP: + SCHEMA_MAP[p] = plugin + + return SCHEMA_MAP + + +# Dynamically build our schema base +__load_matrix() diff --git a/apprise/cli.py b/apprise/cli.py index 2aff36a5..57e964a7 100644 --- a/apprise/cli.py +++ b/apprise/cli.py @@ -99,6 +99,9 @@ def print_version_msg(): @click.option('--config', '-c', default=None, type=str, multiple=True, metavar='CONFIG_URL', help='Specify one or more configuration locations.') +@click.option('--attach', '-a', default=None, type=str, multiple=True, + metavar='ATTACHMENT_URL', + help='Specify one or more configuration locations.') @click.option('--notification-type', '-n', default=NotifyType.INFO, type=str, metavar='TYPE', help='Specify the message type (default=info). Possible values' @@ -120,8 +123,8 @@ def print_version_msg(): help='Display the apprise version and exit.') @click.argument('urls', nargs=-1, metavar='SERVER_URL [SERVER_URL2 [SERVER_URL3]]',) -def main(body, title, config, urls, notification_type, theme, tag, dry_run, - verbose, version): +def main(body, title, config, attach, urls, notification_type, theme, tag, + dry_run, verbose, version): """ Send a notification to all of the specified servers identified by their URLs the content provided within the title, body and notification-type. @@ -200,7 +203,8 @@ def main(body, title, config, urls, notification_type, theme, tag, dry_run, # now print it out result = a.notify( - body=body, title=title, notify_type=notification_type, tag=tags) + body=body, title=title, notify_type=notification_type, tag=tags, + attach=attach) else: # Number of rows to assume in the terminal. In future, maybe this can # be detected and made dynamic. The actual row count is 80, but 5 diff --git a/apprise/plugins/NotifyBase.py b/apprise/plugins/NotifyBase.py index c0183c9f..2b665baa 100644 --- a/apprise/plugins/NotifyBase.py +++ b/apprise/plugins/NotifyBase.py @@ -241,7 +241,7 @@ class NotifyBase(URLBase): ) def notify(self, body, title=None, notify_type=NotifyType.INFO, - overflow=None, **kwargs): + overflow=None, attach=None, **kwargs): """ Performs notification @@ -255,7 +255,7 @@ class NotifyBase(URLBase): overflow=overflow): # Send notification if not self.send(body=chunk['body'], title=chunk['title'], - notify_type=notify_type): + notify_type=notify_type, attach=attach): # Toggle our return status flag return False diff --git a/test/test_apprise_attachments.py b/test/test_apprise_attachments.py new file mode 100644 index 00000000..ae3e4173 --- /dev/null +++ b/test/test_apprise_attachments.py @@ -0,0 +1,344 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> +# All rights reserved. +# +# This code is licensed under the MIT License. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files(the "Software"), to deal +# 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 +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + +import sys +import pytest +from os.path import getsize +from os.path import join +from os.path import dirname +from apprise.AppriseAttachment import AppriseAttachment +from apprise.AppriseAsset import AppriseAsset +from apprise.attachment.AttachBase import AttachBase +from apprise.attachment import SCHEMA_MAP as ATTACH_SCHEMA_MAP +from apprise.attachment import __load_matrix + +# Disable logging for a cleaner testing output +import logging +logging.disable(logging.CRITICAL) + +TEST_VAR_DIR = join(dirname(__file__), 'var') + + +def test_apprise_attachment(): + """ + API: AppriseAttachment basic testing + + """ + + # Create ourselves an attachment object + aa = AppriseAttachment() + + # There are no attachents loaded + assert len(aa) == 0 + + # Object can be directly checked as a boolean; response is False + # when there are no entries loaded + assert not aa + + # An attachment object using a custom Apprise Asset object + aa = AppriseAttachment(asset=AppriseAsset()) + + # still no attachments added + assert len(aa) == 0 + + # Add a file by it's path + path = join(TEST_VAR_DIR, 'apprise-test.gif') + assert aa.add(path) + + # There is now 1 attachment + assert len(aa) == 1 + + # we can test the object as a boolean and get a value of True now + assert aa + + # Add another entry already in it's AttachBase format + response = AppriseAttachment.instantiate(path) + assert isinstance(response, AttachBase) + assert aa.add(response, asset=AppriseAsset()) + + # There is now 2 attachments + assert len(aa) == 2 + + # Reset our object + aa = AppriseAttachment() + + # We can add by lists as well in a variety of formats + attachments = ( + path, + 'file://{}?name=newfilename.gif'.format(path), + AppriseAttachment.instantiate( + 'file://{}?name=anotherfilename.gif'.format(path)), + ) + + # Add them + assert aa.add(attachments) + + # There is now 3 attachments + assert len(aa) == 3 + + # We can pop the last element off of the list as well + attachment = aa.pop() + assert isinstance(attachment, AttachBase) + # we can test of the attachment is valid using a boolean check: + assert attachment + assert len(aa) == 2 + assert attachment.path == path + assert attachment.name == 'anotherfilename.gif' + assert attachment.mimetype == 'image/gif' + + # elements can also be directly indexed + assert isinstance(aa[0], AttachBase) + assert isinstance(aa[1], AttachBase) + + with pytest.raises(IndexError): + aa[2] + + # We can iterate over attachments too: + for count, a in enumerate(aa): + assert isinstance(a, AttachBase) + + # we'll never iterate more then the number of entries in our object + assert count < len(aa) + + # Get the file-size of our image + expected_size = getsize(path) * len(aa) + + # verify that's what we get as a result + assert aa.size() == expected_size + + # Attachments can also be loaded during the instantiation of the + # AppriseAttachment object + aa = AppriseAttachment(attachments) + + # There is now 3 attachments + assert len(aa) == 3 + + # Reset our object + aa.clear() + assert len(aa) == 0 + assert not aa + + # Garbage in produces garbage out + assert aa.add(None) is False + assert aa.add(object()) is False + assert aa.add(42) is False + + # length remains unchanged + assert len(aa) == 0 + + # We can add by lists as well in a variety of formats + attachments = ( + None, + object(), + 42, + 'garbage://', + ) + + # Add our attachments + assert aa.add(attachments) is False + + # length remains unchanged + assert len(aa) == 0 + + # test cases when file simply doesn't exist + aa = AppriseAttachment('file://non-existant-file.png') + # Our length is still 1 + assert len(aa) == 1 + # Our object will still return a True + assert aa + + # However our indexed entry will not + assert not aa[0] + + # length will return 0 + assert len(aa[0]) == 0 + + # Total length will also return 0 + assert aa.size() == 0 + + +def test_apprise_attachment_instantiate(): + """ + API: AppriseAttachment.instantiate() + + """ + assert AppriseAttachment.instantiate( + 'file://?', suppress_exceptions=True) is None + + assert AppriseAttachment.instantiate( + 'invalid://?', suppress_exceptions=True) is None + + class BadAttachType(AttachBase): + def __init__(self, **kwargs): + super(BadAttachType, self).__init__(**kwargs) + + # We fail whenever we're initialized + raise TypeError() + + # Store our bad attachment type in our schema map + ATTACH_SCHEMA_MAP['bad'] = BadAttachType + + with pytest.raises(TypeError): + AppriseAttachment.instantiate( + 'bad://path', suppress_exceptions=False) + + # Same call but exceptions suppressed + assert AppriseAttachment.instantiate( + 'bad://path', suppress_exceptions=True) is None + + +def test_apprise_attachment_matrix_load(): + """ + API: AppriseAttachment() matrix initialization + + """ + + import apprise + + class AttachmentDummy(AttachBase): + """ + A dummy wrapper for testing the different options in the load_matrix + function + """ + + # The default descriptive name associated with the Notification + service_name = 'dummy' + + # protocol as tuple + protocol = ('uh', 'oh') + + # secure protocol as tuple + secure_protocol = ('no', 'yes') + + class AttachmentDummy2(AttachBase): + """ + A dummy wrapper for testing the different options in the load_matrix + function + """ + + # The default descriptive name associated with the Notification + service_name = 'dummy2' + + # secure protocol as tuple + secure_protocol = ('true', 'false') + + class AttachmentDummy3(AttachBase): + """ + A dummy wrapper for testing the different options in the load_matrix + function + """ + + # The default descriptive name associated with the Notification + service_name = 'dummy3' + + # secure protocol as string + secure_protocol = 'true' + + class AttachmentDummy4(AttachBase): + """ + A dummy wrapper for testing the different options in the load_matrix + function + """ + + # The default descriptive name associated with the Notification + service_name = 'dummy4' + + # protocol as string + protocol = 'true' + + # Generate ourselves a fake entry + apprise.attachment.AttachmentDummy = AttachmentDummy + apprise.attachment.AttachmentDummy2 = AttachmentDummy2 + apprise.attachment.AttachmentDummy3 = AttachmentDummy3 + apprise.attachment.AttachmentDummy4 = AttachmentDummy4 + + __load_matrix() + + # Call it again so we detect our entries already loaded + __load_matrix() + + +def test_attachment_matrix_dynamic_importing(tmpdir): + """ + API: Apprise() Attachment Matrix Importing + + """ + + # Make our new path valid + suite = tmpdir.mkdir("apprise_attach_test_suite") + suite.join("__init__.py").write('') + + module_name = 'badattach' + + # Update our path to point to our new test suite + sys.path.insert(0, str(suite)) + + # Create a base area to work within + base = suite.mkdir(module_name) + base.join("__init__.py").write('') + + # Test no app_id + base.join('AttachBadFile1.py').write( + """ +class AttachBadFile1(object): + pass""") + + # No class of the same name + base.join('AttachBadFile2.py').write( + """ +class BadClassName(object): + pass""") + + # Exception thrown + base.join('AttachBadFile3.py').write("""raise ImportError()""") + + # Utilizes a schema:// already occupied (as string) + base.join('AttachGoober.py').write( + """ +from apprise import AttachBase +class AttachGoober(AttachBase): + # This class tests the fact we have a new class name, but we're + # trying to over-ride items previously used + + # The default simple (insecure) protocol + protocol = 'http' + + # The default secure protocol + secure_protocol = 'https'""") + + # Utilizes a schema:// already occupied (as tuple) + base.join('AttachBugger.py').write(""" +from apprise import AttachBase +class AttachBugger(AttachBase): + # This class tests the fact we have a new class name, but we're + # trying to over-ride items previously used + + # The default simple (insecure) protocol + protocol = ('http', 'bugger-test' ) + + # The default secure protocol + secure_protocol = ('https', 'bugger-tests')""") + + __load_matrix(path=str(base), name=module_name) diff --git a/test/test_attach_base.py b/test/test_attach_base.py new file mode 100644 index 00000000..9eb1abee --- /dev/null +++ b/test/test_attach_base.py @@ -0,0 +1,92 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> +# All rights reserved. +# +# This code is licensed under the MIT License. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files(the "Software"), to deal +# 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 +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + +import mock +import pytest +from apprise.attachment.AttachBase import AttachBase + +# Disable logging for a cleaner testing output +import logging +logging.disable(logging.CRITICAL) + + +def test_mimetype_initialization(): + """ + API: AttachBase() mimetype initialization + + """ + with mock.patch('mimetypes.init') as mock_init: + with mock.patch('mimetypes.inited', True): + AttachBase() + assert mock_init.call_count == 0 + + with mock.patch('mimetypes.init') as mock_init: + with mock.patch('mimetypes.inited', False): + AttachBase() + assert mock_init.call_count == 1 + + +def test_attach_base(): + """ + API: AttachBase() + + """ + # an invalid mime-type + with pytest.raises(TypeError): + AttachBase(**{'mimetype': 'invalid'}) + + # a valid mime-type does not cause an exception to throw + AttachBase(**{'mimetype': 'image/png'}) + + # Create an object with no mimetype over-ride + obj = AttachBase() + + # We can not process name/path/mimetype at a Base level + with pytest.raises(NotImplementedError): + obj.download() + + with pytest.raises(NotImplementedError): + obj.name + + with pytest.raises(NotImplementedError): + obj.path + + with pytest.raises(NotImplementedError): + obj.mimetype + + # Unsupported URLs are not parsed + assert AttachBase.parse_url(url='invalid://') is None + + # Valid URL & Valid Format + results = AttachBase.parse_url(url='file://relative/path') + assert isinstance(results, dict) + # No mime is defined + assert results.get('mimetype') is None + + # Valid URL & Valid Format with mime type set + results = AttachBase.parse_url(url='file://relative/path?mime=image/jpeg') + assert isinstance(results, dict) + # mime defined + assert results.get('mimetype') == 'image/jpeg' diff --git a/test/test_attach_file.py b/test/test_attach_file.py new file mode 100644 index 00000000..936534f0 --- /dev/null +++ b/test/test_attach_file.py @@ -0,0 +1,151 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> +# All rights reserved. +# +# This code is licensed under the MIT License. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files(the "Software"), to deal +# 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 +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + +import re +import mock +from os.path import dirname +from os.path import join +from apprise.attachment.AttachBase import AttachBase +from apprise.attachment.AttachFile import AttachFile +from apprise import AppriseAttachment + +# Disable logging for a cleaner testing output +import logging +logging.disable(logging.CRITICAL) + +TEST_VAR_DIR = join(dirname(__file__), 'var') + + +def test_attach_file_parse_url(): + """ + API: AttachFile().parse_url() + + """ + + # bad entry + assert AttachFile.parse_url('garbage://') is None + + # no file path specified + assert AttachFile.parse_url('file://') is None + + +def test_attach_file(): + """ + API: AttachFile() + + """ + # Simple gif test + path = join(TEST_VAR_DIR, 'apprise-test.gif') + response = AppriseAttachment.instantiate(path) + assert isinstance(response, AttachFile) + assert response.path == path + assert response.name == 'apprise-test.gif' + assert response.mimetype == 'image/gif' + # Download is successful and has already been called by now; below pulls + # results from cache + assert response.download() + assert response.url().startswith('file://{}'.format(path)) + # No mime-type and/or filename over-ride was specified, so therefore it + # won't show up in the generated URL + assert re.search(r'[?&]mime=', response.url()) is None + assert re.search(r'[?&]name=', response.url()) is None + + # File handling (even if image is set to maxium allowable) + response = AppriseAttachment.instantiate(path) + assert isinstance(response, AttachFile) + with mock.patch('os.path.getsize', return_value=AttachBase.max_file_size): + # It will still work + assert response.path == path + + # File handling when size is to large + response = AppriseAttachment.instantiate(path) + assert isinstance(response, AttachFile) + with mock.patch( + 'os.path.getsize', return_value=AttachBase.max_file_size + 1): + # We can't work in this case + assert response.path is None + + # File handling when image is not available + response = AppriseAttachment.instantiate(path) + assert isinstance(response, AttachFile) + with mock.patch('os.path.isfile', return_value=False): + # This triggers a full check and will fail the isfile() check + assert response.path is None + + # The call to AttachBase.path automatically triggers a call to download() + # but this same is done with a call to AttachBase.name as well. Above + # test cases reference 'path' right after instantiation; here we reference + # 'name' + response = AppriseAttachment.instantiate(path) + assert response.name == 'apprise-test.gif' + assert response.path == path + assert response.mimetype == 'image/gif' + # No mime-type and/or filename over-ride was specified, so therefore it + # won't show up in the generated URL + assert re.search(r'[?&]mime=', response.url()) is None + assert re.search(r'[?&]name=', response.url()) is None + + # continuation to cheking 'name' instead of 'path' first where our call + # to download() fails + response = AppriseAttachment.instantiate(path) + assert isinstance(response, AttachFile) + with mock.patch('os.path.isfile', return_value=False): + # This triggers a full check and will fail the isfile() check + assert response.name is None + + # The call to AttachBase.path automatically triggers a call to download() + # but this same is done with a call to AttachBase.mimetype as well. Above + # test cases reference 'path' right after instantiation; here we reference + # 'mimetype' + response = AppriseAttachment.instantiate(path) + assert response.mimetype == 'image/gif' + assert response.name == 'apprise-test.gif' + assert response.path == path + # No mime-type and/or filename over-ride was specified, so therefore it + # won't show up in the generated URL + assert re.search(r'[?&]mime=', response.url()) is None + assert re.search(r'[?&]name=', response.url()) is None + + # continuation to cheking 'name' instead of 'path' first where our call + # to download() fails + response = AppriseAttachment.instantiate(path) + assert isinstance(response, AttachFile) + with mock.patch('os.path.isfile', return_value=False): + # download() fails so we don't have a mimetpe + assert response.mimetype is None + assert response.name is None + assert response.path is None + # This triggers a full check and will fail the isfile() check + + # Force a mime-type and new name + response = AppriseAttachment.instantiate( + 'file://{}?mime={}&name={}'.format(path, 'image/jpeg', 'test.jpeg')) + assert isinstance(response, AttachFile) + assert response.path == path + assert response.name == 'test.jpeg' + assert response.mimetype == 'image/jpeg' + # We will match on mime type now (%2F = /) + assert re.search(r'[?&]mime=image%2Fjpeg', response.url(), re.I) + assert re.search(r'[?&]name=test\.jpeg', response.url(), re.I) diff --git a/test/test_attach_http.py b/test/test_attach_http.py new file mode 100644 index 00000000..674659e0 --- /dev/null +++ b/test/test_attach_http.py @@ -0,0 +1,330 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2019 Chris Caron <lead2gold@gmail.com> +# All rights reserved. +# +# This code is licensed under the MIT License. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files(the "Software"), to deal +# 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 +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + +import re +import six +import mock +import requests +import mimetypes +from os.path import join +from os.path import dirname +from os.path import getsize +from apprise.attachment.AttachHTTP import AttachHTTP +from apprise import AppriseAttachment +from apprise.plugins.NotifyBase import NotifyBase +from apprise.plugins import SCHEMA_MAP + +# Disable logging for a cleaner testing output +import logging +logging.disable(logging.CRITICAL) + +TEST_VAR_DIR = join(dirname(__file__), 'var') + +# Some exception handling we'll use +REQUEST_EXCEPTIONS = ( + requests.ConnectionError( + 0, 'requests.ConnectionError() not handled'), + requests.RequestException( + 0, 'requests.RequestException() not handled'), + requests.HTTPError( + 0, 'requests.HTTPError() not handled'), + requests.ReadTimeout( + 0, 'requests.ReadTimeout() not handled'), + requests.TooManyRedirects( + 0, 'requests.TooManyRedirects() not handled'), + + # Throw OSError exceptions too + OSError("SystemError") +) + + +def test_attach_http_parse_url(): + """ + API: AttachHTTP().parse_url() + + """ + + # bad entry + assert AttachHTTP.parse_url('garbage://') is None + + # no url specified + assert AttachHTTP.parse_url('http://') is None + + +@mock.patch('requests.get') +def test_attach_http(mock_get): + """ + API: AttachHTTP() object + + """ + + # Define our good:// url + class GoodNotification(NotifyBase): + def __init__(self, *args, **kwargs): + super(GoodNotification, self).__init__(*args, **kwargs) + + def notify(self, *args, **kwargs): + # Pretend everything is okay + return True + + def url(self): + # Support url() function + return '' + + # Store our good notification in our schema map + SCHEMA_MAP['good'] = GoodNotification + + # Temporary path + path = join(TEST_VAR_DIR, 'apprise-test.gif') + + class DummyResponse(object): + """ + A dummy response used to manage our object + """ + status_code = requests.codes.ok + headers = { + 'Content-Length': getsize(path), + 'Content-Type': 'image/gif', + } + + # Pointer to file + ptr = None + + # used to return random keep-alive chunks + _keepalive_chunk_ref = 0 + + def close(self): + return + + def iter_content(self, chunk_size=1024): + """Lazy function (generator) to read a file piece by piece. + Default chunk size: 1k.""" + + while True: + self._keepalive_chunk_ref += 1 + if 16 % self._keepalive_chunk_ref == 0: + # Yield a keep-alive block + yield '' + + data = self.ptr.read(chunk_size) + if not data: + break + yield data + + def raise_for_status(self): + return + + def __enter__(self): + self.ptr = open(path, 'rb') + return self + + def __exit__(self, *args, **kwargs): + self.ptr.close() + + # Prepare Mock + dummy_response = DummyResponse() + mock_get.return_value = dummy_response + + results = AttachHTTP.parse_url( + 'http://user:pass@localhost/apprise.gif?+key=value') + assert isinstance(results, dict) + attachment = AttachHTTP(**results) + assert isinstance(attachment.url(), six.string_types) is True + # No mime-type and/or filename over-ride was specified, so therefore it + # won't show up in the generated URL + assert re.search(r'[?&]mime=', attachment.url()) is None + assert re.search(r'[?&]name=', attachment.url()) is None + # No Content-Disposition; so we use filename from path + assert attachment.name == 'apprise.gif' + assert attachment.mimetype == 'image/gif' + + results = AttachHTTP.parse_url( + 'http://localhost:3000/noname.gif?name=usethis.jpg&mime=image/jpeg') + assert isinstance(results, dict) + attachment = AttachHTTP(**results) + assert isinstance(attachment.url(), six.string_types) is True + # both mime and name over-ridden + assert re.search(r'[?&]mime=image%2Fjpeg', attachment.url()) + assert re.search(r'[?&]name=usethis.jpg', attachment.url()) + # No Content-Disposition; so we use filename from path + assert attachment.name == 'usethis.jpg' + assert attachment.mimetype == 'image/jpeg' + + # Edge case; download called a second time when content already retrieved + assert attachment.download() + assert attachment + assert len(attachment) == getsize(path) + + # No path specified + # No Content-Disposition specified + # No filename (because no path) + results = AttachHTTP.parse_url('http://localhost') + assert isinstance(results, dict) + attachment = AttachHTTP(**results) + assert isinstance(attachment.url(), six.string_types) is True + # No mime-type and/or filename over-ride was specified, so therefore it + # won't show up in the generated URL + assert re.search(r'[?&]mime=', attachment.url()) is None + assert re.search(r'[?&]name=', attachment.url()) is None + assert attachment.mimetype == 'image/gif' + # Because we could determine our mime type, we could build an extension + # for our unknown filename + assert attachment.name == '{}{}'.format( + AttachHTTP.unknown_filename, + mimetypes.guess_extension(attachment.mimetype) + ) + assert attachment + assert len(attachment) == getsize(path) + + # Set Content-Length to a value that exceeds our maximum allowable + dummy_response.headers['Content-Length'] = AttachHTTP.max_file_size + 1 + results = AttachHTTP.parse_url('http://localhost/toobig.jpg') + assert isinstance(results, dict) + attachment = AttachHTTP(**results) + # we can not download this attachment + assert not attachment + assert isinstance(attachment.url(), six.string_types) is True + # No mime-type and/or filename over-ride was specified, so therefore it + # won't show up in the generated URL + assert re.search(r'[?&]mime=', attachment.url()) is None + assert re.search(r'[?&]name=', attachment.url()) is None + assert attachment.mimetype is None + assert attachment.name is None + assert len(attachment) == 0 + + # Handle cases where we have no Content-Length and we need to rely + # on what is read as it is streamed + del dummy_response.headers['Content-Length'] + # No path specified + # No Content-Disposition specified + # No Content-Length specified + # No filename (because no path) + results = AttachHTTP.parse_url('http://localhost/no-length.gif') + assert isinstance(results, dict) + attachment = AttachHTTP(**results) + assert isinstance(attachment.url(), six.string_types) is True + # No mime-type and/or filename over-ride was specified, so therefore it + # won't show up in the generated URL + assert re.search(r'[?&]mime=', attachment.url()) is None + assert re.search(r'[?&]name=', attachment.url()) is None + assert attachment.mimetype == 'image/gif' + # Because we could determine our mime type, we could build an extension + # for our unknown filename + assert attachment.name == 'no-length.gif' + assert attachment + assert len(attachment) == getsize(path) + + # Set our limit to be the length of our image; everything should work + # without a problem + AttachHTTP.max_file_size = getsize(path) + # Set ourselves a Content-Disposition (providing a filename) + dummy_response.headers['Content-Disposition'] = \ + 'attachment; filename="myimage.gif"' + # Remove our content type so we're forced to guess it from our filename + # specified in our Content-Disposition + del dummy_response.headers['Content-Type'] + # No path specified + # No Content-Length specified + # Filename in Content-Disposition (over-rides one found in path + results = AttachHTTP.parse_url('http://user@localhost/ignore-filename.gif') + assert isinstance(results, dict) + attachment = AttachHTTP(**results) + assert isinstance(attachment.url(), six.string_types) is True + # No mime-type and/or filename over-ride was specified, so therefore it + # won't show up in the generated URL + assert re.search(r'[?&]mime=', attachment.url()) is None + assert re.search(r'[?&]name=', attachment.url()) is None + assert attachment.mimetype == 'image/gif' + # Because we could determine our mime type, we could build an extension + # for our unknown filename + assert attachment.name == 'myimage.gif' + assert attachment + assert len(attachment) == getsize(path) + + # Similar to test above except we make our max message size just 1 byte + # smaller then our gif file. This will cause us to fail to read the + # attachment + AttachHTTP.max_file_size = getsize(path) - 1 + results = AttachHTTP.parse_url('http://localhost/toobig.jpg') + assert isinstance(results, dict) + attachment = AttachHTTP(**results) + # we can not download this attachment + assert not attachment + assert isinstance(attachment.url(), six.string_types) is True + # No mime-type and/or filename over-ride was specified, so therefore it + # won't show up in the generated URL + assert re.search(r'[?&]mime=', attachment.url()) is None + assert re.search(r'[?&]name=', attachment.url()) is None + assert attachment.mimetype is None + assert attachment.name is None + assert len(attachment) == 0 + + # Disable our file size limitations + AttachHTTP.max_file_size = 0 + results = AttachHTTP.parse_url('http://user@localhost') + assert isinstance(results, dict) + attachment = AttachHTTP(**results) + assert isinstance(attachment.url(), six.string_types) is True + # No mime-type and/or filename over-ride was specified, so therefore it + # won't show up in the generated URL + assert re.search(r'[?&]mime=', attachment.url()) is None + assert re.search(r'[?&]name=', attachment.url()) is None + assert attachment.mimetype == 'image/gif' + # Because we could determine our mime type, we could build an extension + # for our unknown filename + assert attachment.name == 'myimage.gif' + assert attachment + assert len(attachment) == getsize(path) + + # Give ourselves nothing to work with + dummy_response.headers = {} + results = AttachHTTP.parse_url('http://user@localhost') + assert isinstance(results, dict) + attachment = AttachHTTP(**results) + # we can not download this attachment + assert attachment + assert isinstance(attachment.url(), six.string_types) is True + # No mime-type and/or filename over-ride was specified, so therefore it + # won't show up in the generated URL + assert re.search(r'[?&]mime=', attachment.url()) is None + assert re.search(r'[?&]name=', attachment.url()) is None + + # Handle edge-case where detected_name is None for whatever reason + attachment.detected_name = None + assert attachment.mimetype == 'application/octet-stream' + assert attachment.name == '{}{}'.format( + AttachHTTP.unknown_filename, + mimetypes.guess_extension(attachment.mimetype) + ) + assert len(attachment) == getsize(path) + + # Exception handling + mock_get.return_value = None + for _exception in REQUEST_EXCEPTIONS: + aa = AppriseAttachment.instantiate('http://localhost/exception.gif') + assert isinstance(aa, AttachHTTP) + + mock_get.side_effect = _exception + assert not aa diff --git a/test/test_cli.py b/test/test_cli.py index aacb931f..a83f6c04 100644 --- a/test/test_cli.py +++ b/test/test_cli.py @@ -25,6 +25,8 @@ from __future__ import print_function import re import mock +from os.path import dirname +from os.path import join from apprise import cli from apprise import NotifyBase from click.testing import CliRunner @@ -227,10 +229,11 @@ def test_apprise_cli(tmpdir): ]) assert result.exit_code == 2 - # Here is a case where we get what was expected + # Here is a case where we get what was expected; we also attach a file result = runner.invoke(cli.main, [ '-b', 'has taga', '--config', str(t), + '--attach', join(dirname(__file__), 'var', 'apprise-test.gif'), '--tag', 'myTag', ]) assert result.exit_code == 0 diff --git a/test/var/apprise-test.gif b/test/var/apprise-test.gif new file mode 100644 index 0000000000000000000000000000000000000000..3aef0896ed4ae8cfd5bf8af9354ba50b8446b777 GIT binary patch literal 76646 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	SL`9ON)EImvCn3^<CHyjIeZ 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 literal 0 HcmV?d00001 From 717910e96957c154c13a610ae6765d266e598aed Mon Sep 17 00:00:00 2001 From: Chris Caron <lead2gold@gmail.com> Date: Mon, 11 Nov 2019 00:23:03 -0500 Subject: [PATCH 2/7] Added attachment support to Emails --- apprise/plugins/NotifyEmail.py | 60 ++++++++++++++++++++++++++++------ 1 file changed, 50 insertions(+), 10 deletions(-) diff --git a/apprise/plugins/NotifyEmail.py b/apprise/plugins/NotifyEmail.py index e880302c..130436ed 100644 --- a/apprise/plugins/NotifyEmail.py +++ b/apprise/plugins/NotifyEmail.py @@ -27,6 +27,8 @@ import re import six import smtplib from email.mime.text import MIMEText +from email.MIMEMultipart import MIMEMultipart +from email.mime.application import MIMEApplication from socket import error as SocketError from datetime import datetime @@ -509,7 +511,8 @@ class NotifyEmail(NotifyBase): break - def send(self, body, title='', notify_type=NotifyType.INFO, **kwargs): + def send(self, body, title='', notify_type=NotifyType.INFO, attach=None, + **kwargs): """ Perform Email Notification """ @@ -551,18 +554,55 @@ class NotifyEmail(NotifyBase): # Prepare Email Message if self.notify_format == NotifyFormat.HTML: - email = MIMEText(body, 'html') + content = MIMEText(body, 'html') else: - email = MIMEText(body, 'plain') + content = MIMEText(body, 'plain') - email['Subject'] = title - email['From'] = '{} <{}>'.format(from_name, self.from_addr) - email['To'] = to_addr - email['Cc'] = ','.join(cc) - email['Date'] = \ + base = MIMEMultipart() if attach else content + base['Subject'] = title + base['From'] = '{} <{}>'.format(from_name, self.from_addr) + base['To'] = to_addr + base['Cc'] = ','.join(cc) + base['Date'] = \ datetime.utcnow().strftime("%a, %d %b %Y %H:%M:%S +0000") - email['X-Application'] = self.app_id + base['X-Application'] = self.app_id + + if attach: + # First attach our body to our content as the first element + base.attach(content) + + attach_error = False + + # Now store our attachments + for attachment in attach: + if not attachment: + # We could not load the attachment; take an early + # exit since this isn't what the end user wanted + + self.logger.warning( + 'The specified attachment could not be referenced:' + ' {}.'.format(attachment.url(privacy=True))) + + # Mark our failure + attach_error = True + break + + with open(attachment.path, "rb") as abody: + app = MIMEApplication( + abody.read(), attachment.mimetype) + + app.add_header( + 'Content-Disposition', + 'attachment; filename="{}"'.format( + attachment.name)) + + base.attach(app) + + if attach_error: + # Mark our error and quit early + has_error = True + break # bind the socket variable to the current namespace socket = None @@ -598,7 +638,7 @@ class NotifyEmail(NotifyBase): socket.sendmail( self.from_addr, [to_addr] + list(cc) + list(bcc), - email.as_string()) + base.as_string()) self.logger.info( 'Sent Email notification to "{}".'.format(to_addr)) From 002cebfaa3cbaee63cca2e027ff8da2dbaad9285 Mon Sep 17 00:00:00 2001 From: Chris Caron <lead2gold@gmail.com> Date: Mon, 11 Nov 2019 11:34:25 -0500 Subject: [PATCH 3/7] attachment code hardening + 100% test coverage --- apprise/Apprise.py | 9 +++++-- apprise/AppriseAttachment.py | 11 +++++---- apprise/attachment/AttachHTTP.py | 13 +++++++--- apprise/plugins/NotifyBase.py | 10 ++++++++ apprise/plugins/NotifyEmail.py | 3 ++- test/test_api.py | 40 +++++++++++++++++++++++++++++- test/test_apprise_attachments.py | 5 ++++ test/test_attach_http.py | 23 +++++++++++++++++ test/test_email_plugin.py | 42 ++++++++++++++++++++++++++++++++ 9 files changed, 143 insertions(+), 13 deletions(-) diff --git a/apprise/Apprise.py b/apprise/Apprise.py index b0445e82..31bd2888 100644 --- a/apprise/Apprise.py +++ b/apprise/Apprise.py @@ -314,9 +314,14 @@ class Apprise(object): # Tracks conversions conversion_map = dict() - # Prepare attachments + # Prepare attachments if required if attach is not None and not isinstance(attach, AppriseAttachment): - attach = AppriseAttachment(attach, asset=self.asset) + try: + attach = AppriseAttachment(attach, asset=self.asset) + + except TypeError: + # bad attachments + return False # Iterate over our loaded plugins for server in self.find(tag): diff --git a/apprise/AppriseAttachment.py b/apprise/AppriseAttachment.py index 68319365..ee046582 100644 --- a/apprise/AppriseAttachment.py +++ b/apprise/AppriseAttachment.py @@ -26,7 +26,6 @@ import six from . import attachment -from . import AttachBase from . import URLBase from .AppriseAsset import AppriseAsset from .logger import logger @@ -58,7 +57,9 @@ class AppriseAttachment(object): # Now parse any paths specified if paths is not None: # Store our path(s) - self.add(paths) + if not self.add(paths): + # Parse Source domain based on from_addr + raise TypeError("One or more attachments could not be added.") def add(self, attachments, asset=None, db=None): """ @@ -72,7 +73,7 @@ class AppriseAttachment(object): # prepare default asset asset = self.asset - if isinstance(attachments, AttachBase): + if isinstance(attachments, attachment.AttachBase): # Go ahead and just add our attachments into our list self.attachments.append(attachments) return True @@ -90,7 +91,7 @@ class AppriseAttachment(object): # Iterate over our attachments for _attachment in attachments: - if isinstance(_attachment, AttachBase): + if isinstance(_attachment, attachment.AttachBase): # Go ahead and just add our attachment into our list self.attachments.append(_attachment) continue @@ -107,7 +108,7 @@ class AppriseAttachment(object): # Instantiate ourselves an object, this function throws or # returns None if it fails instance = AppriseAttachment.instantiate(_attachment, asset=asset) - if not isinstance(instance, AttachBase): + if not isinstance(instance, attachment.AttachBase): return_status = False continue diff --git a/apprise/attachment/AttachHTTP.py b/apprise/attachment/AttachHTTP.py index 7148e340..cc45a427 100644 --- a/apprise/attachment/AttachHTTP.py +++ b/apprise/attachment/AttachHTTP.py @@ -131,10 +131,15 @@ class AttachHTTP(AttachBase): # Handle Errors r.raise_for_status() - # Store our response if within reason - if self.max_file_size > 0 \ - and r.headers.get( - 'Content-Length', 0) > self.max_file_size: + # Get our file-size (if known) + try: + file_size = int(r.headers.get('Content-Length', '0')) + except (TypeError, ValueError): + # Handle edge case where Content-Length is a bad value + file_size = 0 + + # Perform a little Q/A on file limitations and restrictions + if self.max_file_size > 0 and file_size > self.max_file_size: # The content retrieved is to large self.logger.error( diff --git a/apprise/plugins/NotifyBase.py b/apprise/plugins/NotifyBase.py index 2b665baa..7e963b0c 100644 --- a/apprise/plugins/NotifyBase.py +++ b/apprise/plugins/NotifyBase.py @@ -33,6 +33,7 @@ from ..common import NOTIFY_FORMATS from ..common import OverflowMode from ..common import OVERFLOW_MODES from ..AppriseLocale import gettext_lazy as _ +from ..AppriseAttachment import AppriseAttachment class NotifyBase(URLBase): @@ -247,6 +248,15 @@ class NotifyBase(URLBase): """ + # Prepare attachments if required + if attach is not None and not isinstance(attach, AppriseAttachment): + try: + attach = AppriseAttachment(attach, asset=self.asset) + + except TypeError: + # bad attachments + return False + # Handle situations where the title is None title = '' if not title else title diff --git a/apprise/plugins/NotifyEmail.py b/apprise/plugins/NotifyEmail.py index 130436ed..d903ca55 100644 --- a/apprise/plugins/NotifyEmail.py +++ b/apprise/plugins/NotifyEmail.py @@ -27,8 +27,9 @@ import re import six import smtplib from email.mime.text import MIMEText -from email.MIMEMultipart import MIMEMultipart from email.mime.application import MIMEApplication +from email.mime.multipart import MIMEMultipart + from socket import error as SocketError from datetime import datetime diff --git a/test/test_api.py b/test/test_api.py index 5426b73a..2e30db9d 100644 --- a/test/test_api.py +++ b/test/test_api.py @@ -33,9 +33,11 @@ import mock from os import chmod from os import getuid from os.path import dirname +from os.path import join from apprise import Apprise from apprise import AppriseAsset +from apprise import AppriseAttachment from apprise import NotifyBase from apprise import NotifyType from apprise import NotifyFormat @@ -54,6 +56,9 @@ import inspect import logging logging.disable(logging.CRITICAL) +# Attachment Directory +TEST_VAR_DIR = join(dirname(__file__), 'var') + def test_apprise(): """ @@ -166,7 +171,7 @@ def test_apprise(): # Support URL return '' - def notify(self, **kwargs): + def send(self, **kwargs): # Pretend everything is okay return True @@ -200,6 +205,39 @@ def test_apprise(): assert a.notify(title='present', body=None) is True assert a.notify(title="present", body="present") is True + # Send Attachment with success + attach = join(TEST_VAR_DIR, 'apprise-test.gif') + assert a.notify( + body='body', title='test', notify_type=NotifyType.INFO, + attach=attach) is True + + # Send the attachment as an AppriseAttachment object + assert a.notify( + body='body', title='test', notify_type=NotifyType.INFO, + attach=AppriseAttachment(attach)) is True + + # test a invalid attachment + assert a.notify( + body='body', title='test', notify_type=NotifyType.INFO, + attach='invalid://') is False + + # Repeat the same tests above... + # however do it by directly accessing the object; this grants the similar + # results: + assert a[0].notify( + body='body', title='test', notify_type=NotifyType.INFO, + attach=attach) is True + + # Send the attachment as an AppriseAttachment object + assert a[0].notify( + body='body', title='test', notify_type=NotifyType.INFO, + attach=AppriseAttachment(attach)) is True + + # test a invalid attachment + assert a[0].notify( + body='body', title='test', notify_type=NotifyType.INFO, + attach='invalid://') is False + # Clear our server listings again a.clear() diff --git a/test/test_apprise_attachments.py b/test/test_apprise_attachments.py index ae3e4173..7ac07826 100644 --- a/test/test_apprise_attachments.py +++ b/test/test_apprise_attachments.py @@ -140,6 +140,11 @@ def test_apprise_attachment(): assert len(aa) == 0 assert not aa + # if instantiating attachments from the class, it will throw a TypeError + # if attachments couldn't be loaded + with pytest.raises(TypeError): + AppriseAttachment('garbage://') + # Garbage in produces garbage out assert aa.add(None) is False assert aa.add(object()) is False diff --git a/test/test_attach_http.py b/test/test_attach_http.py index 674659e0..277d60ed 100644 --- a/test/test_attach_http.py +++ b/test/test_attach_http.py @@ -238,6 +238,7 @@ def test_attach_http(mock_get): # Set our limit to be the length of our image; everything should work # without a problem + max_file_size = AttachHTTP.max_file_size AttachHTTP.max_file_size = getsize(path) # Set ourselves a Content-Disposition (providing a filename) dummy_response.headers['Content-Disposition'] = \ @@ -298,6 +299,25 @@ def test_attach_http(mock_get): assert attachment assert len(attachment) == getsize(path) + # Set our header up with an invalid Content-Length; we can still process + # this data. It just means we track it lower when reading back content + dummy_response.headers = { + 'Content-Length': 'invalid' + } + results = AttachHTTP.parse_url('http://localhost/invalid-length.gif') + assert isinstance(results, dict) + attachment = AttachHTTP(**results) + assert isinstance(attachment.url(), six.string_types) is True + # No mime-type and/or filename over-ride was specified, so therefore it + # won't show up in the generated URL + assert re.search(r'[?&]mime=', attachment.url()) is None + assert re.search(r'[?&]name=', attachment.url()) is None + assert attachment.mimetype == 'image/gif' + # Because we could determine our mime type, we could build an extension + # for our unknown filename + assert attachment.name == 'invalid-length.gif' + assert attachment + # Give ourselves nothing to work with dummy_response.headers = {} results = AttachHTTP.parse_url('http://user@localhost') @@ -328,3 +348,6 @@ def test_attach_http(mock_get): mock_get.side_effect = _exception assert not aa + + # Restore value + AttachHTTP.max_file_size = max_file_size diff --git a/test/test_email_plugin.py b/test/test_email_plugin.py index 76abbc89..c7ceb20e 100644 --- a/test/test_email_plugin.py +++ b/test/test_email_plugin.py @@ -23,6 +23,7 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. +import os import re import six import mock @@ -31,12 +32,17 @@ import smtplib from apprise import plugins from apprise import NotifyType from apprise import Apprise +from apprise import AttachBase +from apprise import AppriseAttachment from apprise.plugins import NotifyEmailBase # Disable logging for a cleaner testing output import logging logging.disable(logging.CRITICAL) +# Attachment Directory +TEST_VAR_DIR = os.path.join(os.path.dirname(__file__), 'var') + TEST_URLS = ( ################################## @@ -462,6 +468,42 @@ def test_smtplib_send_okay(mock_smtplib): assert obj.notify( body='body', title='test', notify_type=NotifyType.INFO) is True + # Create an apprise object to work with as well + a = Apprise() + assert a.add('mailto://user:pass@gmail.com?format=text') + + # Send Attachment with success + attach = os.path.join(TEST_VAR_DIR, 'apprise-test.gif') + assert obj.notify( + body='body', title='test', notify_type=NotifyType.INFO, + attach=attach) is True + + # same results happen from our Apprise object + assert a.notify(body='body', title='test', attach=attach) is True + + # test using an Apprise Attachment object + assert obj.notify( + body='body', title='test', notify_type=NotifyType.INFO, + attach=AppriseAttachment(attach)) is True + + # same results happen from our Apprise object + assert a.notify( + body='body', title='test', attach=AppriseAttachment(attach)) is True + + max_file_size = AttachBase.max_file_size + # Now do a case where the file can't be sent + + AttachBase.max_file_size = 1 + assert obj.notify( + body='body', title='test', notify_type=NotifyType.INFO, + attach=attach) is False + + # same results happen from our Apprise object + assert a.notify(body='body', title='test', attach=attach) is False + + # Restore value + AttachBase.max_file_size = max_file_size + def test_email_url_escaping(): """ From 0175da15831f2fc366b97d9c38605778e335941a Mon Sep 17 00:00:00 2001 From: Chris Caron <lead2gold@gmail.com> Date: Thu, 14 Nov 2019 19:41:12 -0500 Subject: [PATCH 4/7] Slack Attachment + Bot Support --- apprise/plugins/NotifySlack.py | 549 +++++++++++++++++++++++++-------- test/test_rest_plugins.py | 141 ++++++--- test/test_slack_plugin.py | 145 +++++++++ test/var/apprise-test.jpeg | Bin 0 -> 73667 bytes test/var/apprise-test.png | Bin 0 -> 238810 bytes 5 files changed, 656 insertions(+), 179 deletions(-) create mode 100644 test/test_slack_plugin.py create mode 100644 test/var/apprise-test.jpeg create mode 100644 test/var/apprise-test.png diff --git a/apprise/plugins/NotifySlack.py b/apprise/plugins/NotifySlack.py index 02d965ea..b31fcf9f 100644 --- a/apprise/plugins/NotifySlack.py +++ b/apprise/plugins/NotifySlack.py @@ -23,21 +23,41 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. -# To use this plugin, you need to first access https://api.slack.com -# Specifically https://my.slack.com/services/new/incoming-webhook/ -# to create a new incoming webhook for your account. You'll need to -# follow the wizard to pre-determine the channel(s) you want your -# message to broadcast to, and when you're complete, you will -# recieve a URL that looks something like this: -# https://hooks.slack.com/services/T1JJ3T3L2/A1BRTD4JD/TIiajkdnlazkcOXrIdevi7FQ -# ^ ^ ^ -# | | | -# These are important <--------------^---------^---------------^ +# There are 2 ways to use this plugin... +# Method 1: Via Webhook: +# Visit https://my.slack.com/services/new/incoming-webhook/ +# to create a new incoming webhook for your account. You'll need to +# follow the wizard to pre-determine the channel(s) you want your +# message to broadcast to, and when you're complete, you will +# recieve a URL that looks something like this: +# https://hooks.slack.com/services/T1JJ3T3L2/A1BRTD4JD/TIiajkdnlazkcOXrIdevi7 +# ^ ^ ^ +# | | | +# These are important <--------------^---------^---------------^ # +# Method 2: Via a Bot: +# 1. visit: https://api.slack.com/apps?new_app=1 +# 2. Pick an App Name (such as Apprise) and select your workspace. Then +# press 'Create App' +# 3. You'll be able to click on 'Bots' from here where you can then choose +# to add a 'Bot User'. Give it a name and choose 'Add Bot User'. +# 4. Now you can choose 'Install App' to which you can choose 'Install App +# to Workspace'. +# 5. You will need to authorize the app which you get promopted to do. +# 6. Finally you'll get some important information providing you your +# 'OAuth Access Token' and 'Bot User OAuth Access Token' such as: +# slack://{Oauth Access Token} # +# ... which might look something like: +# slack://xoxp-1234-1234-1234-4ddbc191d40ee098cbaae6f3523ada2d +# ... or: +# slack://xoxb-1234-1234-4ddbc191d40ee098cbaae6f3523ada2d +# + import re import requests from json import dumps +from json import loads from time import time from .NotifyBase import NotifyBase @@ -58,6 +78,27 @@ SLACK_HTTP_ERROR_MAP = { CHANNEL_LIST_DELIM = re.compile(r'[ \t\r\n,#\\/]+') +class SlackMode(object): + """ + Tracks the mode of which we're using Slack + """ + # We're dealing with a webhook + # Our token looks like: T1JJ3T3L2/A1BRTD4JD/TIiajkdnlazkcOXrIdevi7 + WEBHOOK = 'webhook' + + # We're dealing with a bot (using the OAuth Access Token) + # Our token looks like: xoxp-1234-1234-1234-abc124 or + # Our token looks like: xoxb-1234-1234-abc124 or + BOT = 'bot' + + +# Define our Slack Modes +SLACK_MODES = ( + SlackMode.WEBHOOK, + SlackMode.BOT, +) + + class NotifySlack(NotifyBase): """ A wrapper for Slack Notifications @@ -72,27 +113,43 @@ class NotifySlack(NotifyBase): # The default secure protocol secure_protocol = 'slack' + # Allow 50 requests per minute (Tier 2). + # 60/50 = 0.2 + request_rate_per_sec = 1.2 + # A URL that takes you to the setup/help of the specific protocol setup_url = 'https://github.com/caronc/apprise/wiki/Notify_slack' - # Slack uses the http protocol with JSON requests - notify_url = 'https://hooks.slack.com/services' + # Slack Webhook URL + webhook_url = 'https://hooks.slack.com/services' + + # Slack API URL (used with Bots) + api_url = 'https://slack.com/api/{}' # Allows the user to specify the NotifyImageSize object image_size = NotifyImageSize.XY_72 # The maximum allowable characters allowed in the body per message - body_maxlen = 1000 + body_maxlen = 35000 # Default Notification Format notify_format = NotifyFormat.MARKDOWN + # Bot's do not have default channels to notify; so #general + # becomes the default channel in BOT mode + default_notification_channel = '#general' + # Define object templates templates = ( + # Webhook '{schema}://{token_a}/{token_b}{token_c}', '{schema}://{botname}@{token_a}/{token_b}{token_c}', '{schema}://{token_a}/{token_b}{token_c}/{targets}', '{schema}://{botname}@{token_a}/{token_b}{token_c}/{targets}', + + # Bot + '{schema}://{access_token}/', + '{schema}://{access_token}/{targets}', ) # Define our template tokens @@ -102,7 +159,17 @@ class NotifySlack(NotifyBase): 'type': 'string', 'map_to': 'user', }, - # Token required as part of the API request + # Bot User OAuth Access Token + # which always starts with xoxp- e.g.: + # xoxb-1234-1234-4ddbc191d40ee098cbaae6f3523ada2d + 'access_token': { + 'name': _('OAuth Access Token'), + 'type': 'string', + 'private': True, + 'required': True, + 'regex': (r'^xox[abp]-[A-Z0-9-]+$', 'i'), + }, + # Token required as part of the Webhook request # /AAAAAAAAA/........./........................ 'token_a': { 'name': _('Token A'), @@ -111,7 +178,7 @@ class NotifySlack(NotifyBase): 'required': True, 'regex': (r'^[A-Z0-9]{9}$', 'i'), }, - # Token required as part of the API request + # Token required as part of the Webhook request # /........./BBBBBBBBB/........................ 'token_b': { 'name': _('Token B'), @@ -120,7 +187,7 @@ class NotifySlack(NotifyBase): 'required': True, 'regex': (r'^[A-Z0-9]{9}$', 'i'), }, - # Token required as part of the API request + # Token required as part of the Webhook request # /........./........./CCCCCCCCCCCCCCCCCCCCCCCC 'token_c': { 'name': _('Token C'), @@ -161,41 +228,60 @@ class NotifySlack(NotifyBase): 'default': True, 'map_to': 'include_image', }, + 'footer': { + 'name': _('Include Footer'), + 'type': 'bool', + 'default': True, + 'map_to': 'include_footer', + }, 'to': { 'alias_of': 'targets', }, }) - def __init__(self, token_a, token_b, token_c, targets, - include_image=True, **kwargs): + def __init__(self, access_token=None, token_a=None, token_b=None, + token_c=None, targets=None, include_image=True, + include_footer=True, **kwargs): """ Initialize Slack Object """ super(NotifySlack, self).__init__(**kwargs) - self.token_a = validate_regex( - token_a, *self.template_tokens['token_a']['regex']) - if not self.token_a: - msg = 'An invalid Slack (first) Token ' \ - '({}) was specified.'.format(token_a) - self.logger.warning(msg) - raise TypeError(msg) + # Setup our mode + self.mode = SlackMode.BOT if access_token else SlackMode.WEBHOOK - self.token_b = validate_regex( - token_b, *self.template_tokens['token_b']['regex']) - if not self.token_b: - msg = 'An invalid Slack (second) Token ' \ - '({}) was specified.'.format(token_b) - self.logger.warning(msg) - raise TypeError(msg) + if self.mode is SlackMode.WEBHOOK: + self.token_a = validate_regex( + token_a, *self.template_tokens['token_a']['regex']) + if not self.token_a: + msg = 'An invalid Slack (first) Token ' \ + '({}) was specified.'.format(token_a) + self.logger.warning(msg) + raise TypeError(msg) - self.token_c = validate_regex( - token_c, *self.template_tokens['token_c']['regex']) - if not self.token_c: - msg = 'An invalid Slack (third) Token ' \ - '({}) was specified.'.format(token_c) - self.logger.warning(msg) - raise TypeError(msg) + self.token_b = validate_regex( + token_b, *self.template_tokens['token_b']['regex']) + if not self.token_b: + msg = 'An invalid Slack (second) Token ' \ + '({}) was specified.'.format(token_b) + self.logger.warning(msg) + raise TypeError(msg) + + self.token_c = validate_regex( + token_c, *self.template_tokens['token_c']['regex']) + if not self.token_c: + msg = 'An invalid Slack (third) Token ' \ + '({}) was specified.'.format(token_c) + self.logger.warning(msg) + raise TypeError(msg) + else: + self.access_token = validate_regex( + access_token, *self.template_tokens['access_token']['regex']) + if not self.access_token: + msg = 'An invalid Slack OAuth Access Token ' \ + '({}) was specified.'.format(access_token) + self.logger.warning(msg) + raise TypeError(msg) if not self.user: self.logger.warning( @@ -207,7 +293,9 @@ class NotifySlack(NotifyBase): # No problem; the webhook is smart enough to just notify the # channel it was created for; adding 'None' is just used as # a flag lower to not set the channels - self.channels.append(None) + self.channels.append( + None if self.mode is SlackMode.WEBHOOK + else self.default_notification_channel) # Formatting requirements are defined here: # https://api.slack.com/docs/message-formatting @@ -229,18 +317,16 @@ class NotifySlack(NotifyBase): # Place a thumbnail image inline with the message body self.include_image = include_image + # Place a footer with each post + self.include_footer = include_footer return - def send(self, body, title='', notify_type=NotifyType.INFO, **kwargs): + def send(self, body, title='', notify_type=NotifyType.INFO, attach=None, + **kwargs): """ Perform Slack Notification """ - headers = { - 'User-Agent': self.app_id, - 'Content-Type': 'application/json', - } - # error tracking (used for function return) has_error = False @@ -251,14 +337,8 @@ class NotifySlack(NotifyBase): body = self._re_formatting_rules.sub( # pragma: no branch lambda x: self._re_formatting_map[x.group()], body, ) - url = '%s/%s/%s/%s' % ( - self.notify_url, - self.token_a, - self.token_b, - self.token_c, - ) - # prepare JSON Object + # Prepare JSON Object (applicable to both WEBHOOK and BOT mode) payload = { 'username': self.user if self.user else self.app_id, # Use Markdown language @@ -269,18 +349,41 @@ class NotifySlack(NotifyBase): 'color': self.color(notify_type), # Time 'ts': time(), - 'footer': self.app_id, }], } + # Prepare our URL (depends on mode) + if self.mode is SlackMode.WEBHOOK: + url = '{}/{}/{}/{}'.format( + self.webhook_url, + self.token_a, + self.token_b, + self.token_c, + ) + + else: # SlackMode.BOT + url = self.api_url.format('chat.postMessage') + + if self.include_footer: + # Include the footer only if specified to do so + payload['attachments'][0]['footer'] = self.app_id + + if attach and self.mode is SlackMode.WEBHOOK: + # Be friendly; let the user know why they can't send their + # attachments if using the Webhook mode + self.logger.warning( + 'Slack Webhooks do not support attachments.') + # Create a copy of the channel list channels = list(self.channels) + + attach_channel_list = [] while len(channels): channel = channels.pop(0) if channel is not None: _channel = validate_regex( - channel, r'[+#@]?([A-Z0-9_]{1,32})') + channel, r'[+#@]?(?P<value>[A-Z0-9_]{1,32})') if not _channel: # Channel over-ride was specified @@ -304,70 +407,226 @@ class NotifySlack(NotifyBase): # Prefix with channel hash tag payload['channel'] = '#{}'.format(_channel) + # Store the valid and massaged payload that is recognizable by + # slack. This list is used for sending attachments later. + attach_channel_list.append(payload['channel']) + # Acquire our to-be footer icon if configured to do so image_url = None if not self.include_image \ else self.image_url(notify_type) if image_url: - payload['attachments'][0]['footer_icon'] = image_url payload['icon_url'] = image_url - self.logger.debug('Slack POST URL: %s (cert_verify=%r)' % ( - url, self.verify_certificate, - )) - self.logger.debug('Slack Payload: %s' % str(payload)) + if self.include_footer: + payload['attachments'][0]['footer_icon'] = image_url - # Always call throttle before any remote server i/o is made - self.throttle() - try: - r = requests.post( - url, - data=dumps(payload), - headers=headers, - verify=self.verify_certificate, - ) - if r.status_code != requests.codes.ok: - # We had a problem - status_str = \ - NotifySlack.http_response_code_lookup( - r.status_code, SLACK_HTTP_ERROR_MAP) - - self.logger.warning( - 'Failed to send Slack notification{}: ' - '{}{}error={}.'.format( - ' to {}'.format(channel) - if channel is not None else '', - status_str, - ', ' if status_str else '', - r.status_code)) - - self.logger.debug( - 'Response Details:\r\n{}'.format(r.content)) - - # Mark our failure - has_error = True - continue - - else: - self.logger.info( - 'Sent Slack notification{}.'.format( - ' to {}'.format(channel) - if channel is not None else '')) - - except requests.RequestException as e: - self.logger.warning( - 'A Connection error occured sending Slack ' - 'notification{}.'.format( - ' to {}'.format(channel) - if channel is not None else '')) - self.logger.debug('Socket Exception: %s' % str(e)) - - # Mark our failure + response = self._send(url, payload) + if not response: + # Handle any error has_error = True continue + self.logger.info( + 'Sent Slack notification{}.'.format( + ' to {}'.format(channel) + if channel is not None else '')) + + if attach and self.mode is SlackMode.BOT and attach_channel_list: + # Send our attachments (can only be done in bot mode) + for attachment in attach: + self.logger.info( + 'Posting Slack Attachment {}'.format(attachment.name)) + + # Prepare API Upload Payload + _payload = { + 'filename': attachment.name, + 'channels': ','.join(attach_channel_list) + } + + # Our URL + _url = self.api_url.format('files.upload') + + response = self._send(_url, _payload, attach=attachment) + if not (response and response.get('file') and + response['file'].get('url_private')): + # We failed to post our attachments, take an early exit + return False + return not has_error + def _send(self, url, payload, attach=None, **kwargs): + """ + Wrapper to the requests (post) object + """ + + self.logger.debug('Slack POST URL: %s (cert_verify=%r)' % ( + url, self.verify_certificate, + )) + self.logger.debug('Slack Payload: %s' % str(payload)) + + headers = { + 'User-Agent': self.app_id, + } + + if not attach: + headers['Content-Type'] = 'application/json; charset=utf-8' + + if self.mode is SlackMode.BOT: + headers['Authorization'] = 'Bearer {}'.format(self.access_token) + + # Our response object + response = None + + # Always call throttle before any remote server i/o is made + self.throttle() + + # Our attachment path (if specified) + files = None + + try: + # Open our attachment path if required: + if attach: + files = (attach.name, open(attach.path, 'rb')) + + r = requests.post( + url, + data=payload if attach else dumps(payload), + headers=headers, + files=files, + verify=self.verify_certificate, + ) + + if r.status_code != requests.codes.ok: + # We had a problem + status_str = \ + NotifySlack.http_response_code_lookup( + r.status_code, SLACK_HTTP_ERROR_MAP) + + self.logger.warning( + 'Failed to send {}to Slack: ' + '{}{}error={}.'.format( + attach.name if attach else '', + status_str, + ', ' if status_str else '', + r.status_code)) + + self.logger.debug( + 'Response Details:\r\n{}'.format(r.content)) + return False + + try: + response = loads(r.content) + + except (AttributeError, ValueError): + # AttributeError means r.content was None + pass + + if not (response and response.get('ok', True)): + # Bare minimum requirements not met + self.logger.warning( + 'Failed to send {}to Slack: error={}.'.format( + attach.name if attach else '', + r.status_code)) + + self.logger.debug( + 'Response Details:\r\n{}'.format(r.content)) + return False + + # Message Post Response looks like this: + # { + # "attachments": [ + # { + # "color": "3AA3E3", + # "fallback": "test", + # "id": 1, + # "text": "my body", + # "title": "my title", + # "ts": 1573694687 + # } + # ], + # "bot_id": "BAK4K23G5", + # "icons": { + # "image_48": "https://s3-us-west-2.amazonaws.com/... + # }, + # "subtype": "bot_message", + # "text": "", + # "ts": "1573694689.003700", + # "type": "message", + # "username": "Apprise" + # } + + # File Attachment Responses look like this + # { + # "file": { + # "channels": [], + # "comments_count": 0, + # "created": 1573617523, + # "display_as_bot": false, + # "editable": false, + # "external_type": "", + # "filetype": "png", + # "groups": [], + # "has_rich_preview": false, + # "id": "FQJJLDAHM", + # "image_exif_rotation": 1, + # "ims": [], + # "is_external": false, + # "is_public": false, + # "is_starred": false, + # "mimetype": "image/png", + # "mode": "hosted", + # "name": "apprise-test.png", + # "original_h": 640, + # "original_w": 640, + # "permalink": "https://{name}.slack.com/files/... + # "permalink_public": "https://slack-files.com/... + # "pretty_type": "PNG", + # "public_url_shared": false, + # "shares": {}, + # "size": 238810, + # "thumb_160": "https://files.slack.com/files-tmb/... + # "thumb_360": "https://files.slack.com/files-tmb/... + # "thumb_360_h": 360, + # "thumb_360_w": 360, + # "thumb_480": "https://files.slack.com/files-tmb/... + # "thumb_480_h": 480, + # "thumb_480_w": 480, + # "thumb_64": "https://files.slack.com/files-tmb/... + # "thumb_80": "https://files.slack.com/files-tmb/... + # "thumb_tiny": abcd... + # "timestamp": 1573617523, + # "title": "apprise-test", + # "url_private": "https://files.slack.com/files-pri/... + # "url_private_download": "https://files.slack.com/files-... + # "user": "UADKLLMJT", + # "username": "" + # }, + # "ok": true + # } + except requests.RequestException as e: + self.logger.warning( + 'A Connection error occured posting {}to Slack.'.format( + attach.name if attach else '')) + self.logger.debug('Socket Exception: %s' % str(e)) + return False + + except (OSError, IOError) as e: + self.logger.warning( + 'An I/O error occured while reading {}.'.format( + attach.name if attach else 'attachment')) + self.logger.debug('I/O Exception: %s' % str(e)) + return False + + finally: + # Close our file (if it's open) stored in the second element + # of our files tuple (index 1) + if files: + files[1].close() + + # Return the response for processing + return response + def url(self, privacy=False, *args, **kwargs): """ Returns the URL built dynamically based on specified arguments. @@ -378,23 +637,35 @@ class NotifySlack(NotifyBase): 'format': self.notify_format, 'overflow': self.overflow_mode, 'image': 'yes' if self.include_image else 'no', + 'footer': 'yes' if self.include_footer else 'no', 'verify': 'yes' if self.verify_certificate else 'no', } - # Determine if there is a botname present - botname = '' - if self.user: - botname = '{botname}@'.format( - botname=NotifySlack.quote(self.user, safe=''), - ) + if self.mode == SlackMode.WEBHOOK: + # Determine if there is a botname present + botname = '' + if self.user: + botname = '{botname}@'.format( + botname=NotifySlack.quote(self.user, safe=''), + ) - return '{schema}://{botname}{token_a}/{token_b}/{token_c}/{targets}/'\ + return '{schema}://{botname}{token_a}/{token_b}/{token_c}/'\ + '{targets}/?{args}'.format( + schema=self.secure_protocol, + botname=botname, + token_a=self.pprint(self.token_a, privacy, safe=''), + token_b=self.pprint(self.token_b, privacy, safe=''), + token_c=self.pprint(self.token_c, privacy, safe=''), + targets='/'.join( + [NotifySlack.quote(x, safe='') + for x in self.channels]), + args=NotifySlack.urlencode(args), + ) + # else -> self.mode == SlackMode.BOT: + return '{schema}://{access_token}/{targets}/'\ '?{args}'.format( schema=self.secure_protocol, - botname=botname, - token_a=self.pprint(self.token_a, privacy, safe=''), - token_b=self.pprint(self.token_b, privacy, safe=''), - token_c=self.pprint(self.token_c, privacy, safe=''), + access_token=self.pprint(self.access_token, privacy, safe=''), targets='/'.join( [NotifySlack.quote(x, safe='') for x in self.channels]), args=NotifySlack.urlencode(args), @@ -407,32 +678,40 @@ class NotifySlack(NotifyBase): us to substantiate this object. """ - results = NotifyBase.parse_url(url) - + results = NotifyBase.parse_url(url, verify_host=False) if not results: # We're done early as we couldn't load the results return results + # The first token is stored in the hostname + token = NotifySlack.unquote(results['host']) + # Get unquoted entries entries = NotifySlack.split_path(results['fullpath']) - # The first token is stored in the hostname - results['token_a'] = NotifySlack.unquote(results['host']) + # Verify if our token_a us a bot token or part of a webhook: + if token.startswith('xo'): + # We're dealing with a bot + results['access_token'] = token - # Now fetch the remaining tokens - try: - results['token_b'] = entries.pop(0) + else: + # We're dealing with a webhook + results['token_a'] = token - except IndexError: - # We're done - results['token_b'] = None + # Now fetch the remaining tokens + try: + results['token_b'] = entries.pop(0) - try: - results['token_c'] = entries.pop(0) + except IndexError: + # We're done + results['token_b'] = None - except IndexError: - # We're done - results['token_c'] = None + try: + results['token_c'] = entries.pop(0) + + except IndexError: + # We're done + results['token_c'] = None # assign remaining entries to the channels we wish to notify results['targets'] = entries @@ -444,10 +723,14 @@ class NotifySlack(NotifyBase): bool, CHANNEL_LIST_DELIM.split( NotifySlack.unquote(results['qsd']['to'])))] - # Get Image + # Get Image Flag results['include_image'] = \ parse_bool(results['qsd'].get('image', True)) + # Get Footer Flag + results['include_footer'] = \ + parse_bool(results['qsd'].get('footer', True)) + return results @staticmethod diff --git a/test/test_rest_plugins.py b/test/test_rest_plugins.py index bbe12ae8..e812f02d 100644 --- a/test/test_rest_plugins.py +++ b/test/test_rest_plugins.py @@ -23,6 +23,7 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. +import os import six import pytest import requests @@ -37,6 +38,7 @@ from apprise import NotifyType from apprise import NotifyBase from apprise import Apprise from apprise import AppriseAsset +from apprise import AppriseAttachment from apprise.common import NotifyFormat from apprise.common import OverflowMode @@ -61,6 +63,9 @@ REQUEST_EXCEPTIONS = ( 0, 'requests.TooManyRedirects() not handled'), ) +# Attachment Directory +TEST_VAR_DIR = os.path.join(os.path.dirname(__file__), 'var') + TEST_URLS = ( ################################## # NotifyBoxcar @@ -2483,10 +2488,10 @@ TEST_URLS = ( # NotifySlack ################################## ('slack://', { - 'instance': None, + 'instance': TypeError, }), ('slack://:@/', { - 'instance': None, + 'instance': TypeError, }), ('slack://T1JJ3T3L2', { # Just Token 1 provided @@ -2503,6 +2508,10 @@ TEST_URLS = ( # There is an invalid channel that we will fail to deliver to # as a result the response type will be false 'response': False, + 'requests_response_text': { + 'ok': False, + 'message': 'Bad Channel', + }, }), ('slack://T1JJ3T3L2/A1BRTD4JD/TIiajkdnlazkcOXrIdevi7FQ/#channel', { # No username specified; this is still okay as we sub in @@ -2510,11 +2519,19 @@ TEST_URLS = ( 'instance': plugins.NotifySlack, # don't include an image by default 'include_image': False, + 'requests_response_text': { + 'ok': True, + 'message': '', + }, }), ('slack://T1JJ3T3L2/A1BRTD4JD/TIiajkdnlazkcOXrIdevi7FQ/+id/@id/', { # + encoded id, # @ userid 'instance': plugins.NotifySlack, + 'requests_response_text': { + 'ok': True, + 'message': '', + }, }), ('slack://username@T1JJ3T3L2/A1BRTD4JD/TIiajkdnlazkcOXrIdevi7FQ/' \ '?to=#nuxref', { @@ -2522,23 +2539,67 @@ TEST_URLS = ( # Our expected url(privacy=True) startswith() response: 'privacy_url': 'slack://username@T...2/A...D/T...Q/', + 'requests_response_text': { + 'ok': True, + 'message': '', + }, }), ('slack://username@T1JJ3T3L2/A1BRTD4JD/TIiajkdnlazkcOXrIdevi7FQ/#nuxref', { 'instance': plugins.NotifySlack, + 'requests_response_text': { + 'ok': True, + 'message': '', + }, }), + # Test using a bot-token (also test footer set to no flag) + ('slack://username@xoxb-1234-1234-abc124/#nuxref?footer=no', { + 'instance': plugins.NotifySlack, + 'requests_response_text': { + 'ok': True, + 'message': '', + # support attachments + 'file': { + 'url_private': 'http://localhost/', + }, + }, + }), + + ('slack://username@xoxb-1234-1234-abc124/#nuxref', { + 'instance': plugins.NotifySlack, + 'requests_response_text': { + 'ok': True, + 'message': '', + }, + # we'll fail to send attachments because we had no 'file' response in + # our object + 'response': False, + }), + ('slack://username@T1JJ3T3L2/A1BRTD4JD/TIiajkdnlazkcOXrIdevi7FQ', { # Missing a channel, falls back to webhook channel bindings 'instance': plugins.NotifySlack, + 'requests_response_text': { + 'ok': True, + 'message': '', + }, }), # Native URL Support, take the slack URL and still build from it ('https://hooks.slack.com/services/{}/{}/{}'.format( 'A' * 9, 'B' * 9, 'c' * 24), { 'instance': plugins.NotifySlack, + 'requests_response_text': { + 'ok': True, + 'message': '', + }, }), # Native URL Support with arguments ('https://hooks.slack.com/services/{}/{}/{}?format=text'.format( 'A' * 9, 'B' * 9, 'c' * 24), { 'instance': plugins.NotifySlack, + 'requests_response_text': { + 'ok': True, + 'message': '', + }, }), ('slack://username@INVALID/A1BRTD4JD/TIiajkdnlazkcOXrIdevi7FQ/#cool', { # invalid 1st Token @@ -2557,18 +2618,30 @@ TEST_URLS = ( # force a failure 'response': False, 'requests_response_code': requests.codes.internal_server_error, + 'requests_response_text': { + 'ok': False, + 'message': '', + }, }), ('slack://respect@T1JJ3T3L2/A1BRTD4JD/TIiajkdnlazkcOXrIdevi7FQ/#a', { 'instance': plugins.NotifySlack, # throw a bizzare code forcing us to fail to look it up 'response': False, 'requests_response_code': 999, + 'requests_response_text': { + 'ok': False, + 'message': '', + }, }), ('slack://notify@T1JJ3T3L2/A1BRTD4JD/TIiajkdnlazkcOXrIdevi7FQ/#b', { 'instance': plugins.NotifySlack, # Throws a series of connection and transfer exceptions when this flag # is set and tests that we gracfully handle them 'test_requests_exceptions': True, + 'requests_response_text': { + 'ok': False, + 'message': '', + }, }), ################################## @@ -3613,6 +3686,26 @@ def test_rest_plugins(mock_post, mock_get): notify_type=notify_type, overflow=OverflowMode.SPLIT) == notify_response + # Test single attachment support; even if the service + # doesn't support attachments, it should still gracefully + # ignore the data + attach = os.path.join(TEST_VAR_DIR, 'apprise-test.gif') + assert obj.notify( + body=body, title=title, + notify_type=notify_type, + attach=attach) == notify_response + + # Same results should apply to a list of attachments + attach = AppriseAttachment(( + os.path.join(TEST_VAR_DIR, 'apprise-test.gif'), + os.path.join(TEST_VAR_DIR, 'apprise-test.png'), + os.path.join(TEST_VAR_DIR, 'apprise-test.jpeg'), + )) + assert obj.notify( + body=body, title=title, + notify_type=notify_type, + attach=attach) == notify_response + else: # Disable throttling obj.request_rate_per_sec = 0 @@ -4780,50 +4873,6 @@ def test_notify_sendgrid_plugin(mock_post, mock_get): cc=('abc@test.org', '!invalid')), plugins.NotifySendGrid) -@mock.patch('requests.get') -@mock.patch('requests.post') -def test_notify_slack_plugin(mock_post, mock_get): - """ - API: NotifySlack() Extra Checks - - """ - # Disable Throttling to speed testing - plugins.NotifyBase.request_rate_per_sec = 0 - - # Initialize some generic (but valid) tokens - token_a = 'A' * 9 - token_b = 'B' * 9 - token_c = 'c' * 24 - - # Support strings - channels = 'chan1,#chan2,+id,@user,,,' - - obj = plugins.NotifySlack( - token_a=token_a, token_b=token_b, token_c=token_c, targets=channels) - assert len(obj.channels) == 4 - - # Prepare Mock - mock_get.return_value = requests.Request() - mock_post.return_value = requests.Request() - mock_post.return_value.status_code = requests.codes.ok - mock_get.return_value.status_code = requests.codes.ok - - # Missing first Token - with pytest.raises(TypeError): - plugins.NotifySlack( - token_a=None, token_b=token_b, token_c=token_c, - targets=channels) - - # Test include_image - obj = plugins.NotifySlack( - token_a=token_a, token_b=token_b, token_c=token_c, targets=channels, - include_image=True) - - # This call includes an image with it's payload: - assert obj.notify( - body='body', title='title', notify_type=NotifyType.INFO) is True - - @mock.patch('requests.get') @mock.patch('requests.post') def test_notify_pushbullet_plugin(mock_post, mock_get): diff --git a/test/test_slack_plugin.py b/test/test_slack_plugin.py new file mode 100644 index 00000000..f8d334c5 --- /dev/null +++ b/test/test_slack_plugin.py @@ -0,0 +1,145 @@ +# -*- coding: utf-8 -*- +# +# All rights reserved. +# +# This code is licensed under the MIT License. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files(the "Software"), to deal +# 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 +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + +import six +import mock +import pytest +import requests +from apprise import plugins +from apprise import NotifyType + +from json import dumps + +# Disable logging for a cleaner testing output +import logging +logging.disable(logging.CRITICAL) + + +@mock.patch('requests.post') +def test_slack_oauth_access_token(mock_post): + """ + API: NotifySlack() OAuth Access Token Tests + + """ + # Disable Throttling to speed testing + plugins.NotifyBase.request_rate_per_sec = 0 + + # Generate an invalid bot token + token = 'xo-invalid' + + request = mock.Mock() + request.content = dumps({ + 'ok': True, + 'message': '', + }) + request.status_code = requests.codes.ok + + # We'll fail to validate the access_token + with pytest.raises(TypeError): + plugins.NotifySlack(access_token=token) + + # Generate a (valid) bot token + token = 'xoxb-1234-1234-abc124' + + # Prepare Mock + mock_post.return_value = request + + # Variation Initializations + obj = plugins.NotifySlack(access_token=token, targets='#apprise') + assert isinstance(obj, plugins.NotifySlack) is True + assert isinstance(obj.url(), six.string_types) is True + + # apprise room was found + assert obj.send(body="test") is True + + # Slack requests pay close attention to the response to determine + # if things go well... this is not a good JSON response: + request.content = '{' + + # As a result, we'll fail to send our notification + assert obj.send(body="test") is False + + request.content = dumps({ + 'ok': False, + 'message': 'We failed', + }) + + # A response from Slack (even with a 200 response) still + # results in a failure: + assert obj.send(body="test") is False + + # Handle exceptions reading our attachment from disk (should it happen) + mock_post.side_effect = OSError("Attachment Error") + mock_post.return_value = None + + # We'll fail now because of an internal exception + assert obj.send(body="test") is False + + +@mock.patch('requests.post') +def test_slack_webhook(mock_post): + """ + API: NotifySlack() Webhook Tests + + """ + # Disable Throttling to speed testing + plugins.NotifyBase.request_rate_per_sec = 0 + + # Prepare Mock + mock_post.return_value = requests.Request() + mock_post.return_value.status_code = requests.codes.ok + mock_post.return_value.content = dumps({ + 'ok': True, + }) + + # Initialize some generic (but valid) tokens + token_a = 'A' * 9 + token_b = 'B' * 9 + token_c = 'c' * 24 + + # Support strings + channels = 'chan1,#chan2,+BAK4K23G5,@user,,,' + + obj = plugins.NotifySlack( + token_a=token_a, token_b=token_b, token_c=token_c, targets=channels) + assert len(obj.channels) == 4 + + # This call includes an image with it's payload: + assert obj.notify( + body='body', title='title', notify_type=NotifyType.INFO) is True + + # Missing first Token + with pytest.raises(TypeError): + plugins.NotifySlack( + token_a=None, token_b=token_b, token_c=token_c, + targets=channels) + + # Test include_image + obj = plugins.NotifySlack( + token_a=token_a, token_b=token_b, token_c=token_c, targets=channels, + include_image=True) + + # This call includes an image with it's payload: + assert obj.notify( + body='body', title='title', notify_type=NotifyType.INFO) is True diff --git a/test/var/apprise-test.jpeg b/test/var/apprise-test.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..dfb5355d2adf83e5fcb08e019ecfd5cdf0e65919 GIT binary patch literal 73667 zcmcG#bzD@@x&S(~K_ejDqDV-0Bi#){2t!DBmw*UJgD@g7D&5izD$+4@NOyw_Il#c% zcy63~?mh4Kdw;w&d(V8c;_LP8Z|%MI?ey&uh)`KxNgjlTh6YjuKA_th5Q(h2wS}j( z6}^w0=WBWeB{j|474&aPva;ry+8XjosxN`wAQ1XzM~IUL<_i$W$=TCgTS122(8!n` zXBG4i^Z<kj;sy~~Ks;QfH8oX1|F)b>f&fe)&=|)Zu7BI@|8Bsuvi5+0Kxp(pvlPVD z-4lRc0kD9Nr|TX35r7{-URziJa47(@y8{dY@bq21<v-xPJJ|Lwj1GXHNA9}XvVd%l z0GQtPpJ2;>f+4Tnoq#@kKp$o+CuaaZy5T=yt2;RG4t8?%0(kpd?j*#ucGlAYewl%j z8l(VH0;z#CLG&O?kQc}f<OuQvaR9&0K#d1T8)%pLH{&V)j@JZ6SpuW%KoDSr9LNRa z1hV)$9&~2|pbt>~TeluIygYxa&~RlyAgqPk+hZ0G2qy&uLM7hbUVXW}MSTT<Fy=s@ z@6P`{-sLk0By<YYC;oRGGYkYGcnbp6{rc}ZODG6b9|;0Io^iEsxA;p31NcU_u>pY) z1t1Wf5eP&w3<5m>|3hy;+g&>-X9@(;1$3o42m+;l0)d{`0=P~7jokNu0sp19|JOeM zp}*T%kSquT9sTYA3MO!1-NVAd#Kd}lgM)n!_W>^M!v_x^;^7k$;^7nFKYU0?Mo2{R zh?JBRmw@~+*`vqAk4PWgAwk0c#$aOI$HKb*2=5`@qyNw4_9uww9{L;fHyCI{Aao)$ z3?j7KUmzMlL+BWHv+lnNIzS2==N{I5pqUD2`A7M$W;Ap_1Z<q!-ymEJG!Qx=1|i_f zr@)N;|FfWld91=HwTdWbjuJk;Ldy=~-OFI8%P1OF4+G5g?+Y4^kkClakf-*4biwL= zDY87H9{=yzrA*rF2&4Q40#RfxI>7sPUAscqHxbE+MLwaEOP-5;hwX7&ldQmaDy0Ru zbjIs{Lz}wcn5Y{QgkgR3XRa+I#^K1X&V`(=sQUvSUs>lIKe=-8?|H_uss8;b<1^36 zpjLiKAGMH45RNFt_E_PY{|hPFV8RpXOb{NddwmPWw0d|8;@v=*OA-w?zw1_f-TZF3 zp-KNstv!c)+Jqg)%ktgz^X*&|XOrOAZpGzyv`GS^th-77uZ7@^-=n2mG-unFNElsV zpgDXmn=6agLj*tk^Ohif#GC*>UR>EYUm3?7UtQj4O>tU|-mG3b#>7-MD!55<Y{DNi zYwL96{QJM+1>s}*ULfg>(#IrRe(l2Oj?E1sV>g+|cpEdGtPf{!DSA>-QN3F^pnSKo zZTxO>ThBRdo0L*T`}clPMb>QK;@;VCaCynFMCBey+nawuj)s6g&g26vw1jZgUMKXT zhG;1^ZSVi&CMWeM%1E!Q@=R}N#gRFnij;1!=ls%O=bWm)ujib+t>2t$yk9<Up0c(0 z{Hpcj7L+3;nzXmN^DpQrg_mX3F}5L4Ph@-YVoS)qjTf1$WUjH~EI-`7I@>BaW>B$8 zH?%%%aCD}6_w|5Me{!NpKQ*tGGs&Sz#ld)AN8?hwk#$RC=@fe<pmgDXV#inZeT97E zoNb=5r9r;Z*3oM~*)lTp@v%BK+gd|O*hcz{AjiO#fO>eYX?)`JxM_#x9ACZW?|F{G z(Rs$aQLyQRgK43K*AyL!JV)nz_|mp<sOEoAaP9cjB}AjM9!UFR`MTUd-6+c~wZ)(( zv()2p0eAAIO4wS%6MhmM5!JaS5~~@1{BYMfK|HADxIn$;XidG6XK}sW?>GY|AH7kw z*@2s>oODzxw)B2V<C}k?LjClJ!4Tmc5`oOR1$F)@pL7?5Gv)J&9QW^rKWJo1eG#kI zX)-ZrqSyN(b}u8n(KEfu(eqvZ=$*xPsA3A8j3Z)lo8;5Ro659zN*roQ)t+ykuP%Pw zO10RpZu%!m)SiFRm4ZEHZwS`C7s-38Y-TwoT^4x!A<rwshUWH?%lZ9svP^V`prqC& zdOuuEMm^I<ZMrrbomr(T8=7NAIs2QvMryxq>r<-a+UMn)_&L-y7pFDrPM}Z?72EzJ zdEL$Uzy4b=kFn#u9~=V*AtZ<l^MrK)=2b4Tx!KaimNn1Klqrf<KPwl0x1zqO_YI?# z<@PJ(_DhW=@6}Q~MDPY?1O)NJ-MmGtPIv#HB;o|;w~?*>5Eq#>n;?9R$_`N+n6TJ5 zC#MsKo|9)xX+X0Z*O*s{>goyMmehaJ$N4EK8fW!--<<B4sy$&<fO!Kr#0I0Cpoioq zT^j0sS(VVKPwq8{+T&5ne9wlGPmLvEOJi2QHy!wSJp=%sah)}TdL4F1%AQsV7QWV= z#)`lTAIuv20pE8W;%i8+H8s#H&pK&#gN>XT&m@eH9Q>!MANbO*z43C%_~UO2zdqhj zhu8>MtqAZ68xA%>9R&Xp5AxeM+mIKenHu_s_;!LG`7FEP{y`d&%$+&+GpO!t>@a%M z+TgM!F+{HRGv*=Ld%|yD_ktZgxzhXQUR2u|mz6JgoQYFcAMA<D9J>7{@neRySAs6A zgZnTpL|kT_RnJAr$C<cvp_JHZBkS40%Ps{ozaYQ$vyID-*FG8|nJ4K*ai#$dt*zH7 z+d-F{bp%`qW!Em@2JHEKg1n!n#|PIu4-r?F{N}dRf+WxHIXo=Th+8bL-`zjHe66S1 z*Pnl#Eot!1)x*xd#J)c6CSf8kh>f;UT;M<KU}w9j6%}L_7=(k6q=LqCFxdzI>VVh) zO3@G&PRN|KZh{^P(+FFgc4-8fPVu=<h}D{lG)zp5bhg2^C2-7**p)^l%)90#LI%24 z?^k)ItyeZ?)SKFz=ub2_dlgMi9-5u{3`-;wEMJPq{IF`3UHfxI8@RMG;iSKOvi&{8 zU>j*VW4l$<^bdy6mPkIN&}^>X=)7J%&Jgxv<*ugVv2yGh$fV+NOZ(-x(a%wZ+PKL) z*pH2$?%n@%<c56RZDQ*0%Q}v-lx9~+iuGQML_(LlvZaB@*a$=~s_4pwR<Z-CEa#yt zR`4ilA>QW%#XtKn&?_Nsvw!7hUvqKUq<CwC#*S#27i97KUp{aM!~}4p5rO4ESm{?p zrtl!+0L@r!2tcf6Qa(-(tO&Rxz}B;AC!MWsNsAQX$Iqxyl;kcI{Xrq#EK$)GJ{kmr z+c2&bi=(xM5kby0k=gR{EdjOXN`m@cVC6Z}p-a=&-L~?%lDz=7I`UmNxY5NzpouYA zN%8)g<mXe5#j<bb3_xlKlm{9^OzJ$x33Au%-J7=I19cF^nSRBYxR0ZEjthA;lM-9U zE1ZySo#td~GCM_n)@6_*oF(!{!(gY4^t4pwm%L;5>x;$A%V3u$f}9R<y!q-VN`v+t z2eS$rfhI6?Vl@uh+W|o!qDupff5%jta&5O7%x<kOf~Oun9By-=Y3_jIkTn(W;#6pe z+%!)`jx@k>^1k1(=67-QipIS2&!s`ea!vmRUmVZO-2rGy4e;!ZyKm+db)Hdifk|iZ z6h(FnLOi(b`H7@zRlW+lG`swdO~e^p5^~R3tay`VZ0%Bf&SC#1-uRK$%gao+(O`pc zOT=+kXStp8Cb+#o9dg?GDWSfFQ=ir5BG@tTX<D<xWMjefsk?dWxOl!l<{d{m$FZZT zdmbmYL)XD_8vrYSx>RctG6&-DGVA_2wt&?VU_NzTZoc2(iS)(5j2+az`Pf0wcU8SK zMwX~uI^Ja`2}xLVM@Iee<>f`eEQ*bv?dkACUQ?3w3!e(udS|CnUUPMUs`I>W!NMi! zy!2SG0nGAfm4u(H)qxIt?6W7nC|TkyseldegONasi&5++A*gzM%{pKQP0F=P1AYeV zo+u32avxK1=Vr<eI2I69rf|D{>e(IJylfRS*t<#gq0%~i0_FG6XOxJP2x?!wu@?3y z$#(I+plJ;usVLyh?3ywS7~7jb1+Uc@nZXbe!Sl<<D;}~AWosw9{cYXNI%ob2-Y`~) zbVT5^P~oWkl-Gd7R7Ems;m0BGw>Llzy9{|x*1L5GL$dGv@k>jprnLrGOIma6N_XrU zG6tCH8gT3#aHM+iE4D+BwZKg4^yaK=_q;B5M<6dF&eEn-t`aKq=Q=xl3Hi9CvE1`m z<$Zd!z<GV&{`T4}2yzg(&>GRsTXz$(2JYsw)he4GE3e%@b+4#Aj2QT}AA-{v8Ka}* z<YOrA?*}`Rxb)n&ZIS|(BC)~NAE@B4%`+FlO<MUOGx>Bs$~(>m?C6B;sJQdN+|^Xv z)s*r-s&RYzuExv{_g5FqPq3<W3V+8z4g_*#HcIO@#XHt+Y@fq_#`~#G{CHt9>cSNC zr|Ghxdk%#y(1eXVZZRcT_jMCaI~Y9eK3t5v3Ez>4nUj=UGPAcy-sVhRV7iq2@;S&1 z3d@h20c;3Yhy@)4bHSZjZafr^IhY1o`W44GJ|g(~ZGc1UZxjdS<4jzNji`sen`Gss zMrzv;mYP~zkw`+})tmH^jC#Me5JO};202s&IWY)u<pB}tUCeoTDGAO(ag}lnZ^kbp z4`bqn3<Q4f`Z&*#pO{;aaqQiK9(JU5@YyPP)=ib!)82v%V7DNhJp$Y82!OAj3Xgd` zU<$q=td1Q6Epa?sGyMZq0+60Dj!fX+9Y_6&qkqHsdT`Tmg3I)<c)M=Y8}$4FqpRk{ zui_FnS}<1O?o?igVD<IlAPO!RLzPBOX)-=&Lc;3RvA?@w?sJkOb8Zd~q!O|$oosd9 zUktyA+1K&pvbxB|JrsEQ37p%cQheI}BDjBN$;;bg{xb**XXE}G7ZWj>l)*m~&~!gq z>-@h)lur*_&joB*O$FHT&Xm=(s!+9n`s(-~$>FbwM3`u{E+<z3=LNG}LP((sE`pv( z+Ma~k?!nn$+YPsi;{vQslkqO-vrkUmOCg_87EfDCmIK9ZL0k{2%}#?`FSxdD5Jjfd zOM$x=HtG8NKmyF!5V<V@6T57!hL5fM0STug4{)pzfohx30Y9ihQoboP>5jF)u5`fh zj{z@pT+a<$uX5aca!79403Aco;y0nOW17;`kL_Lh7~gQu2bnF1clXXVUy13gBk8zf zYSYvUmM*{r3G0^bKP}5W8;Y{{CM7i#?q9)*qF?Ucf-sI}%!2h+X3G~P$97iQ0}g&x z&fkJW5q3X|@|xeJfWhS<r{XQoPuiAH_e5TSXkUxH#rfJInQ>V?Fe=tR&;*<{Kn$x% z;5p{V1WY?nXEo3UQA!+Mqy${_B1oKpSW2o5dK!e65G00LKYHELa3#4FWK+THClTyj zGPk1>aoIhb+1x&GUDOdTDfDp^qLSgXU*z8geRgT?&A7MO92{`0i|DiU6Wz}bBFGyI zu9%>_y!JaYk3bx~P-<uf=QV>XQWi(n4`)!XPPeyRL1OBzyrRM<E(wS;)t2~v)s_UF ztz!-zgcxv9x?>l(RPu}p*vPalGM=I4ZR@KP6Ae@9&(BbCE*^^}uP^+%^qN>D%-){{ z_?dIk@D_w{A+N=nVNk~7W}~f^Hc7RkKvg<PkxCuP^ik6W*aV8JdwV<TcVIAn5ki8D zm72F)K|_J|DkNmt=Om^z@D@ZagA8U@ec8&;(5ycNR;l0!h96uXOtsNY1Nv{+d^gcQ zIM=cW^EMauqk$&P*wI?A`K8^3m3%X6z~H%dJjQ8_lJ)yL^Fhf(eiQzeZSxB;@e<Xi zD9Pu35<XJfi)+0tC%g8`y?<;1*E<G}H#lt>V#?k5;cdte){_RmZw;2E_A^_X!R@s} ztuQl|=m6HP>&+>|#gU&!PwNeN$zqSh)E3s0X2G8q?J9#^u{&If&H5|*&Qsvysh!}3 z^b=7}-V-?x!2rfO4Nhcand?QJ;$BOC&)@T}@$X`eY8_;t$!gHRr&k>2Vz#|Q40%1J zp?}#1`#!{bP#f#<OQYUr4bBB$xb!{=$(bEOB90Yc-P*-XVBP@1O6#H71lTN~uJjTy zHz6=>ywV;DKVxxQ&N*8$Ypl(svtzZ-CjWF*()J{TsXo`?(60p*z7ptY=4WyeQ`^dT z@@@)n*XNgX)dLdn>K$0Y5;hvr6G!*>dLf~EeTL^RuQNP7fFG!~^bfSe0{OsTm#jIL zsh?oQeqgKjhZ*Nf{HtA~&7DJyF+?PE!yCV?+38pk*0FzRJ8^6d>zr-&Z-8@2;;nBM zKVn#`QptC==})V!LP`oYXnd>>J3d6vwn28T(&vyTA+V#Aw5OXq{Ils-H<NLDm#<W& zCAd1S%rpcfg+yd?%@ViC9lYxUEA~;&yq5&IbcOl8lu5{MI2MTOvRxRwN+I1ZhA6#C z!D0>YhZ*3)yy29>P{5bHaNx6b>BVoi<=nQ=JT+Eqn+^AOr!_O%U7RW2%>Loi)#!I4 zDl+NO)rdTR<{wsYZ2qED7^qSha+EKs-nE6#x6q~52M72gco*7&*gCt{pROl65BeP6 zf_|e+)#RMp2r@=)40^gYQ-|_~KSde>iUl_`Z<>R5ToXo7Z&0iP!+aRWh4}MpNU)3K z!)mMkoPp_%|L}zVfte>V3l6g<9w7>2NRfSe7m@u)-tD1VknG3fV}zNRxr6^ree`uZ z*Hm^w-e#Mb8jjfI(AA&v;E)vFaj&US6beQnguu!8k-)TJl-ZKP{3}8&>v`{yKRIkw z{(43nQJK)~<uTz~nKd8aPLOxW0dB89L|(VLtlk8-iEV8%I@?Nr^^BRMit_}w@@}Ct zM1xBXaJGutL;K<IZ=wkaYx_b7!;W4E7tbEx63twI-$K)$VAl^d2XR0OimeuEr^d2c zM}w}~B@jnG2W<l$ZxIN;TM!gl;d$akbB>Utqo(3Di`(DX^4~q<Y!O~Vemd~0G2*p~ z`-n-1mgF{fW3YZ~X0+YGIszT<UM=>sZ?Vg=@j`w&gmtG1eVl8|f0#irJvZ3#d8<Cx z>{H0_rGz`mcB|ura0lexaeRTlzKR4ZNItK&>WtbG8;k<nHm~=?v#+P;b~HhSRms_j zyZZ~LQ(X%o>3il1qifd}E*U!tNevfCR&QH_AhWZ>K2w9#VqzsQI-T>gCL}L>DV-yE zV113A@m|y?AkK&uUr68?z+IgEXpTcvN8q~d6M=iS4uWQ+uNp_K8lvOmJq1Ka9Q<Ey z7oZ68Hn}E)GbN?e^KpbE#oio9aAnj$dae2^Ap$(d0(Wz&I&-piYy?mruF4nDHk2ub zsaSV^r)u`hNszcZgdxzQ`$u-$;NgjwY{%xcQASRwOWEd^rps&a2C}gq@g%rxsv*c+ zr+dK#2CwYe&hUUHzG0+~idKgsLWIwd7h@(Iz(VTc9}6k_a(`7jUf^a4a5E!?)Lr#; z234eDE8i{X%jxy{C44M$%WmZR7{TC@sAR&AMg&5XOL)c|Fn6`R5jU@J-A<6W$yEEW zrOr4isNH|}RTH9u4u7>gJ7RnHPXR#|qLXJpcbmK--~SSbqubq`yX^`ijfRspVmceh z*5itj15>0+<h!|zZD_I;%bTdEP>DkVE^8!RR#~6FM|C-m=qhX5L$?e2O#3!3-rON5 zKd%8Pj|qv$lP?XP!@&h}OLT=Oq2R=fk97C0doaq7Vp$joaT^qo78{PX47_}HpEd<; zpZT5_>|Dorl8n%Z8`{;(p9Y;DYjCl;F6O*hg?DlPQv14F?ND#Ky|p2<+}nt3!f$qM zGc$=X3L4qI%w{>ho;MfUji6Pj&Uj)Neg74pN%cHL8!a$d#}_nOfW?;&uu2AxLfq!X zPR;nu*lfz#2A`<B|Hx@SC|kgLMVGU@n1iAZ&VYGhNpd{EPuW}^zrJ}gL~Ai)E2<*` z^!d8s!)c~$%U-?aQbB)$GE)E1c9XfgJ5mjgUrlgd%;^`q{=~fbvF+VrPTgTU?&kW1 zaCg3FKpR-XV|8`iaCxrDKLBQKz_!^jAQot;^x{}R$uWh28T}WgG(~2k_hK|Mg*t8d zQpJDeV7lipGk&@tyAo;NV&9_MmBMdrq6-*aM5$c(Jj9?kcyqA@rScebJ<m7hu?nyC z3v_yMjQ8T0LLUO|L7DB&?9;kHy@h2dO8QZBvO3$_^R?~9r)L+E3Ggnv`xN2@Q!~dl z{u0f;^^pUU)d`SG38;8CjXY!|C@7E)3eDV1%gS~o+_viPLGZ;A5lgX4$;r92ORjrz zWgH#3b=CzZ52e@F@rXiL+w@I>MM}s3F7<{|_&v1s22~d&gA>kv<BVO-CSA&baNer( z1eN=p&?WR7;|`{8AiKOW4@b5p{JlTS3;X#i&|y)mr#Mkgk)EKyWhVvZ=1^fjHxB7Y zje;l4@IwE~o53kyhWnIxo@s=9$+xAoU0>Zqt|2f<SfT;;Mir&ei0%RGS=rJoE(L?h zp`=N5&M_i33k~gU?g1-<s?H(>*(IG7l)%JM${jSS;JnGXq;1_fIfKl92l)vhmPWSC zaZ=c<H_R-zGh1zAE`vOEa|)~w*YKkF``j7%kyA79<}3OlyE>fYE;D(JN|(AT6xUO? zBM&je*6;11>Y=X+=~hX(RVq)+6ci&EUNI6sdJ{Fc+244rF<^;UHKTuoA{Yfv33_j) zEDD|sQtwmO>$5@hHcE@KEJcwdr|qL;t@8fAK=^FFy7;@R$NPbeMr2AseI`e6jbbBW z9gA+-<_+Zdkb&x~%cE12c~%+Yq~hKT)91w2`hxuGh~wiP#yC0`TBmSW#)12BP^{lg zzK|^>P2G)0E}8?+V*YyH3kg0vs$X38It^5B%Z!B-1ujNbA_EOGk(?^gnBymP&PG$@ z-dzfg*4~4@4RiJS9KJ<a%uNP4`+fx{A@u}aG=(67_rZ|&o^VOdg3V>eI@L9$gaZ1L z^ABm(Pt=Px|Ljv=PpAvOtDb6qdJ^=wP${X)I!sErOtVg{1e)-AeRWzGS?$r!B(@J1 z9AZfkj%HMhiekh{jbJIVefq1bTjZFWrPspaA=q}CeLJIR<z~9?FkRId447`PLSzM| za(eBt8yuG~7QPPx(Pb5gOPq^c;&iW9KWFX*<8$opVellwM}|ZV5;o;l_N=$NTO}3D z7cH2rtUi3Wmr#%`+D?Z*)!z-xb`nnSP<P2}>E)41VwTC3lSyLyCHIW&rwymd!w)i6 z-x}}z7MS!JY~>Acv^pQ09TF7Rg6r7^>s^J6oQ7yrf1&#dEQI~!5IwZffBb?cJ#0KY zjJg?4y^*!go-+3iH~0xI&?>uiKiApx-0lntQDk9Zd7RF(Az}{OIHV3F9T*<i%u2yy z9_YJIs9G#1Bgansw33)zj-6djj=d!LXI~?yWslsLr=*gt>f$Vg_)*dn->UIsFf>Wx z{N&Xs_s$Xs#7A<Ri~nU~eZ1wGqpz3OX<XE6*ndY!NyY}5J+q2L`mK^=+hoE=_C}li znbXq>QUX_(x7$L}q1j$TcHH-vRFm&1-M>#P_g)$}<>X=rIkgy*9zJBZ`c_r0_3&f5 zoSOQiXPRf{e07N9x(^)xG`Rg;z%59d?rYaI2m}iDpkz4Z7N=M``d!y0?e5NH5csf2 zDcRXZ;J`$r0NSbUJ8!w;dgwCNZB%W$xv^vBl6B6#8Qu4UJ^A;CVhbD0Xlz|(-Ke+G zkKRT_Gm?=qk|{<+Fg?}nV{nf$GT?SMd7nj>TV3w7o6#&5b1s>8EzuUYhoS%|V+<-J zf(~dUs46(QI4VB{&hLIW-_<K)u<GfZ5zFRk?1!8AS#Rf_9ezDO@jR3acimijLN2!7 z&_-vVy}k8e_Tr)t{#a2_M)75oVlpvvs5Zl^q?gGImRJ!{Q4tZnmMkV|<SYYWK4ABu z>X+xJ3ZbCI-;ot?<u||`8AQS$#%6{f`}rYVYQK9OFLeFjm=pDa--d-nVnO%}MweXr z$1mo9CBtOW!!9;UB@SE>Y`S$x#~Q@Tn;`AmhBvcp=7#%|h@6{Qjxkq`SqZ%tQ}J7_ zVkP0XTx()>_DaC^-x`_a)CcQ7-GY>^_9bTyFLAd0PNe|B3Fx!!Fj_7GXT7<tz^T!n z#`6nWcY^8>Ub=oFQ_#U0_v49p{RJoCfz99zSxGMA4GEZc+0@9hXWYX=7b4vm>sr}t z1I$XqWO9i~%#2CQM2x+dGPyE8lNf*Y5)qejYCU|&_VZ_7e%9XQjSEV0Uv{*+0uUMm znj#p?!JS5K4hM7bR~g}_*;v)4aFq7z8KtBrWitP?&1`JW*6UOnLP=zix98bwYg=W| zsv}n~Ld;>G()-YDh?(ENvs7ffQ~1lMsFx9nQ4vX&SbYo@mJAja)_O{T@JsVW`!=|< z#ig?2t2>G~$pqYJzXLP<3GfA8Caxzr>ywkM?eq$-4b-eU2+sU$U08&cu-7W9rdahD z)gX?22v|D{#F9QrGcYRJ5Hk`JGcxOjF&l<zGaE)3J&KAlG&K2a_%dpv?G`lrhpYYa z`^omM>m4DGgb}hSkVKMqWPwg_c*rqrVB_b&>_c95_OwpFw2z*4@aKlZ0Vf;5FsXqY z=G@%R5x^b0o>`=CA^fQ{!$(EHgYL*NYcmpAMZGn86r0LO#z^+a&`=L~KC&J%dJB>Q z9=o7cPogg0{H2G3DW-~j+Cc;F-K<h!@vJ8*o>Sr6`&e23v6_FzkG-X=ob=!%u*^s) zJp%|D^q18MAxD9-V#%*;h>0n}nBTsQW}ts-L?6xg5>O<gA~}m<M5>mx4xG;RY;Jce z$n~su;rm}gAOaj}SNw_9)sY5QulncARd)SWzLk#bn=za-(2u<hlOjX>d#AX4swo~% znR97m;m1uH1X=QavM(Z%n0fCLO9R0{Mn;BRE|EQvJ?SA~%!4Gh80zNPOHQ=2c72-I z^QeE20Z|?yM*|tRP9!7YRjXM^Hu@c#0-Z_L6X|KntJOA6rE3miwllMOyI<1N)2!Hu z9s7pFsg^IiHsAB`@O&OHx+5a@_I;v^TnsZ|4AFxafD*fXYa0yOc6h*jTG137Lv`;z zNTKy;V5h<~NJg@`B&Rkrn7`E%?N@V8c2)~lIt~Ol4!H|fWN!Xwi~K^Eo@Q*rN2p*s z8X~z|@_yhaIn#^8@aGsW0MCDr#LNstd&Ztz#jlBhLH;cjXSX0fgvi;q^Q5Ua|3L{v z@FH6Y<M0^%wM8Njnc?m}*H1RkPZ_w<Sw*X2{H?EX{U*ERe5B|ju{H%e^Fjks<Q9~% zF_z8pi`h^W%FWE+fvH3$H$cRg%PhyN_%&B1G3GIOds-X(z$^Ra+iB(Y(ti>HVRW%( zOU)o{hugR$hX<;8e$JIfCjXo%NLs5bdE$~+{pRXw`Slp1te~oAh-6Bx-!)URx^<Gf zYHVk(m1-vmw-rDL5Q{K|nfbwcxo4sN$nc$;Ma`2d+2QW$|B?p;D*Utj>-%&gT-F!3 z!(f|jRvN=_oWbH>&%Iv%{2_CHz1DuY;NBK<{&oj^{JKpeC;m}G&XaH4<U9i=u|LUQ zB!<bz$i7G-OniTL$^|<42ezMv*p-~0Mmmaj8UL3!Adsf7=gONPM-5qDU&rgl8GIwM z4MU@pH0AY}U>kK9ug{7-s>S`P1vw!!CiMK%g5}FiL9E1HcV05wpECD>Q$|MmUX@hQ z{bH9bzsQ~7?v>L$n$mM3-+v;3rnSloe`BTKdE~ZjBGfdKZe>`vc4U=iV_2tTZ7rBW zl<j3$o!rQ=PO;Ini7Q{t3E?g@NqG_R>&^rIDojS^S>F{3E*iu&262$y;+={3{7?9S zi~DQD$2XoZ0nvhl$l>IHQuZO!5+Evonf-Wq9gVsSJU<%nc&H4TOuEHc@~1aMhih6{ zvQrSVzkO#x|Mu<M@2!ES`zVEHXF-}C6Olzy{{uG&pU?O6#Zr)?`sT{&$i;CrPfwLW zdZl9wPi5w{k#-atE59X$0clHWlzW_#$2*l2BTh@JDq?nGAOwVeJiDUxKfj4t_1vL* zb=ElZFQ`FyR!3UBZ}6tx1wa$xm;1@A&h=GiQ_^{CJmd>i<=^oN<b2@9S6sz?^35dP z{g(-piThQr2Pv_PU6%Ml$k|P#>`4Gfq<3Ej*rfC?h5q=*TFx4X3h;CqXg}O<HRhoQ zd+hb>E9vx4Z<9GPS18o1O)TA2hBz5gOuF!-lQ*6){@{~nmyPnjnG!y^l9FiL)frxU z^Dk(D%jyxqvuwYoAc1(^5@h2km!xFvP>>kI19TP}#_w-qqJ~KOD8OA5224i$$u|56 zP=9w|S-K`sQBZVtfabRanTVYIUpRpZ3@x!HS6*sRm0-Jse+Z0*1fErrMq#;T)b~^= zYB<WnsMDG3*r?Yl&b+`mXzS$IT%lU-aJ&2s5B`OJ)a?Ie^Dm7l4bkjC{x={DNj!M$ zZ=|i&CairZ$OK*#V?AKlIMq9c6or2u1MhmNxAGm#zYvrH33v?Ke#QIGX!*Yw#S+%) z7~->E`mY8j9Ba|g3Hkr}|GxnYWnsI)p+GxZ_+1;u7S)$w^+Ycwum9cif7GB8ymg4| zl(2h)?RSz;<7hkoe{H|{A0z(V9|B+_79X(73L6dBJ%)}B?9alw+phH=8?gw9h#%3D zkiL*&;3m^#<l*NPc*Vs0giqQP*r9a~*w=-Ig?<Y{UN??>78KP!n#SP;mkev4)^*xG z*LN4jVHNMO##)=g$6?QF!L!$7DPm}T=J?iX3NLErK=#qgiOhK6Uz4+ssKuQtjHJg~ zy#0P<Q3iy}Q~c4tjFeU9@M@HSYgJK6?e-^b4%@AFyH{&fQC8}e^^sCW%DUb|a_w_g zHI@37*H+q-AzzjqA-VC8(wX*yC$$mN4Qflt1O4dS*Y`ruaY7?s_{ljhPvWIa@5f-C zD6IO8Ta(qWs+7ej=JoAV5#Mw$j@t)%T2YpGxIfA<ZefI^@nSk+jp15&mA+&9(j`eN zCPeLsax}ueVKLiEiV%`f!@X#GruD_}rg&})*GH=e!L{q|cvJA0f-?`iX7+-+_lyz$ zULU4NVd^bNlFC(x8iRqeiEo4#-_FwMQICYsWFB}mhXTIi9<t-?@@n;nr_2cEjEfY{ zuyf&TzL!dG02y|WfMF!y<6wk}q%j|f5(g!&I#>q~{qZd?g%>`W`sRKQHo75FM)q-^ z!+Kt2rfw3k^T!89=)k0(v-?MAHuO6Wwu}iGD`N+-+vmFR(X*0Ts0tVU#Or!i6lrRv zv9DiwfpU-7v&v`smQ`sS$`Vt5xumzQ+37iZTGO={z8qoiSsJK6)7cPtjwo%zXCZjf zS75E<9cs!rc&REO{(5z3b=z(E`;w~=wp4$BiCg-L73*j5I^I<EPMej+K<YZW`5}*s ziwrV-?XnH0m$9wRUf&>-++#gUZs$Uaq2HG%@NuYA-i>cKKcy*KsO!^{8=#U*NaH>` zeW;}s_f;;ErL`9S**MV+b1G(G$Tz-tfz^Gt<*qKN9tub6o~ACJ1csgjyMwPe%nCE( zYO?Agv+>V1(FqI4rQ@HV5i(&~u-(^WTBF3lNT~n58jJ(#p}^oc<UWD3d{HYESV{L# zKgAO!2{G5KuCW}R_i|~Xuy&`({o-8qO)B&;)BP6!QA!2HRcA3@<i(mNzL*dV{Vcsx zxCX`>E8IvbQ*Fi(0-lD0cUfTk?E~-Fe7cE2_YH2g#xYn`8l|0v@Jspk`StWtu|#h_ zDu?L{?O-R}Y3fqWgfy;1Z+R|FChYJ@X+UW;?Jj$m^9HkEvV?SIT*N!;YG&6*)7rk& z81&Y)6FeN0UU@uA;lh_QzWOFzV1tu`0|?|ao#r|-ZJdZQf%ePUnjawQt5_CkHmn<| zQGheI)$b<*o)}8d@30w|l2VYi`7sk;Cb*aTm*~4E81(r+5_zz}<|C=^apRtF_alWS z%2);*!>YH6<lgQ)vGG&OpKhg73dFoe6!s$JzNT{H14SNe*#vYArh+%uX*tOpmO@s6 z5v+rf)tt&!)^aIFQqA5^6IdFZio_yV0oBy?+KJ2U7x<;GOh#*QNXi=Ua?WQ}HkqLg zqe9VN$P)urG2}zw(f7DDsf0DwoNbu;xs>Y73S<2$OiLxlSySj$FSGd}*%{LN_?J6Y zd<VVn9xpxw_i?~uKSsIxM1hcAcc#=cHMmSlkG8*bBF`*S{+`*a;xXqk493|@*;&M* z?CqIkWY#R~mQzoZkoeb@%J(&IL9cSd8NRO~xR`y&z^f@J`GLk`rX{cVuQXO7-G;ji zSJ*Pv)OIpnvVQ`p+*He}dU<EH{g^n>5_yQ3zN!d#?Uto6_IcxGDlj`d%SF~wJ-^ZL zzZa(<t+$_e<NiYa-jAm&QVEH<81%^`X8V?fmkGXy#k?a{Prwf~2FG80z-=V+yzj|@ z9pTvD7r#ako%wUD7lYo4%f5ApA}O~kb3LSsE7(-OPdqurQM;reWb3b4iNZ9MLkp6| zeptIVF<q>t(Z+O1_1_sIw?&8sG-|!1ycFD7rfkd51x)d>OjoO<<m46K7gj<PrUswS ze(QV)m}l)e?uj1)CvrV$C1T>VigMF>AUMj<131kG!iwHMmOJJF7Ax|0B1N4NjAKLF zoT`Rab`}mjHl+dM!x`H}xa$PW@;!__m{wl_vxzw?d`HFfwQaXgUYsmy)siy{0bxd0 zHGzk1S?O__REy0iG>HKgW5^@voIgugzU8tD_|bF=Y{np7tjP9^=V!`~w-2F1;yxcl z$(M@jwu@$;0XVy6utJ>AM$Cn(2*0}FvxZ{}QAD_aMPJ`29PlmPPiL-ve%$L$gw0l< zVx9YKYD$qIN&O)I`tfO`7lqPV7*?j)0dcaOB%=iWr{nP%rB%<z>5uce+^~P2b+7pk zPnw5z4b?z1U__cva0RZ9O5etQFvl)34-nw0qr=Ffvp^s9vA~6=T+plNQm6?*GmI6s ze(e|@#|c$4hjgvraC_q_cQb!eR{8=S{(b(GXES7ShT2@-X8QOha~0c+A}d4(Z0B^| zvT_T;E?o#HSEqE+5XI-Q=(=1p`PjpH?%pDd=yF7Z()W0L-=UEc={9l_sZ8I_LhHfb z1AJjm=~+63b(5qK32iRkm&UEW2V6tPj9;y6Kj{$QJ!v^Bg$-@=K04KCYt)EUrmK+L zV-b7Uh>Fz+kNfSW+K6pz`_jnI<2#G{lMcBJ<`;z(`>`s^HYRC3s3Dh$$QCdEq&d`H zfQ@GBLr}-=dlY{%CtFKx_F~PKS<2|&6G5K2LNzrp&$=ZHdgG_Pt9-Fd=n}Sw5Inw_ zIj;%M#?ad>B&)BJ`y=)Z1E(6V{`4{Ucu~FXZ1<5}FA>OIhThYPH>t@@hLye?nqh%y zU6bmLahiP|+p6sl%3*UbZI?;zXn&V`yb)?SRe|Fh?_X(fbsrVkzO%1)3!>gU{Gr71 z=%V1k>rn>{m;M%WKcaLPw?4@`CaQ^Vm%r{ckn3BUQxA*>`=;F+%yd^3dF^xgLFwUP z*+kE#ee|aJi`Wm!8njBN2J_`sgKPI&kOf^m!58en?1}BIu+776{^+ggC=yb0;m9Nw z7@p#{vpqpaWyw77X>vB^%<FJktJ=Yk&NKstK2u(=HEToDAXDrtE1JxKcUgj7o|Lci zD7qrR=Jp@=4U<D@rw1d;`%-#%j--QaxJF`H{r%}H&Imb7PaNu$yq?|PlDP#13ul@e z7dQ!iJEs=x0B?Hg?;CeJVeI5FOeJ=B*V$KvbjM?7X$t(pE#R@GA@i%v%Ta5{&+K#_ z3(!efD4{EB?AbJHmW?(vuVC$_?%E&<<0e-Asu+*3eo=Fg<Z8qYlP4Rf-xW*VRtAhx znysK3RBUv*Cw+76xa#9|_4@5W(;}Wt`tCaVL-Ajumqm)kqrW+wNndToqa{qv)E72v zKZ||f;lVwZf@4dcPN%Z;S#gZAo~rPf5ba9=CVkDVli$=htcD$VG3hpOYjQw9d)!&- zPpvIo5ZcwNXdGShd+7Xr0HiX=ZkEX1a>Lw5($P$klWupYGc4{EpN;L855D%eRT=5A z))m^T+lk6Db1I6Bjk>4K{hW&4&1!orkK#Ct_%+zn8G>tSC7xFdd_T;XFhmjan?eW% z;LIMHOJCK6!`6Df74*~!fBgA#RIfA)xUdnun-iGQd6n_lnI6a&=wiRRK_mERyGUT4 zlb1}@_r4tJkk^D&U+`?GmHa3e?IW{Yc6i=i^Vq|rAGp@O1+H1|R%#tw*WaIa7n=64 zYOfA&88r;;78}H^yCL{?#Fbfew+C-QJ|v=_&;9E@daF!a;I*8t3Y9wA#i{gC%Bfc~ zPKTmn-h-T(#{Meg0QI=?q{RtPK_<+aL(Nl^WyaO=N8RA5wd@jz*Su@j$94WT4~k49 z^3Mp)z6o>~FT=hnVw&7PbDUxfimAhQGDy&9xHooxN5R%20{k+0{;g^SjeFHDR;Ovc zdd|!vWswX)Hb;6j`yny~y=z-G=qH^HdFdi}A1k#^36Rs#OVxLmHuto|i$tRL)i#sS zb>;IF8a5XjQ>iE##S2s8z8jk`n{$7*bjD2<Nd6<6cfhG+@!+!)^mz{HERhCjyD&L@ z%6EQZ5=e61x80H;i@NchqcSn4uTT*hvDd;AdT;yR*Ol%5q4JXZ@LH)@-awDcAx<HC zNIKt9iCt!Sz-Vqv$R7E5OeLt(ZaqbJ6-eUTR>49`Dt4o8)PL?Fv2jDg^*gT&mNI#@ z&$@TT^};2Bsh6>f<0?tLR+?>x{0*I_d)+h;Ntiiy=dm&*j*Ho!XYIW-|HMQ`Rd(%d zy?f?ukSYRIuNHYwBrs`yGFw%93tHpTFKj9u4-BY;s-#Y9ahjD9{iv=>bz_E1<6eDH zh?V;6!Z5hIt-~@Jtbh^veYO8_<&K6}m?jGrGX=f?>Tz?ii7<M3Uhlz|nwkh$CzSOQ z%{Ov!6G10619iMQ!CTM+b4Ja3Z~L+7^Mj5@&%3#WjnKE<3i;If`q;jRS&dKcm0ZY! z*?9H28KtAuNce_EuWTUd2s-C)g9!Vy&rT1is<RDk=)jcxS$mY0UNy=Ii8_r64wZqp zVugn?Y3WG=#9_L4V&RHB)3FrpX0zml$#Tk)2^_be`m-?>uUE77p&nuTakrqK*Gd`; z&z3|GkL9it2RQ8Az}v0o6?9zDY^JO@L*$gIssXwS3PA<uH@o0MFAaFXrX{b^%`e{} zl@RjpjJk~0xokBvHUxSzJ&Akuo`($QBJ;A{sL^W63%7pS`J+qB,wKsrZ_?@J>E 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 literal 0 HcmV?d00001 diff --git a/test/var/apprise-test.png b/test/var/apprise-test.png new file mode 100644 index 0000000000000000000000000000000000000000..6703efe851c3100bda8eeec18bf61117b3536260 GIT binary patch literal 238810 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�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 literal 0 HcmV?d00001 From cb9b4fd103a996904f51b853304072db12718cb9 Mon Sep 17 00:00:00 2001 From: Chris Caron <lead2gold@gmail.com> Date: Thu, 14 Nov 2019 22:14:37 -0500 Subject: [PATCH 5/7] Discord Attachment Support --- apprise/plugins/NotifyDiscord.py | 85 +++++++++++--- test/test_discord_plugin.py | 191 +++++++++++++++++++++++++++++++ test/test_rest_plugins.py | 119 ------------------- 3 files changed, 263 insertions(+), 132 deletions(-) create mode 100644 test/test_discord_plugin.py diff --git a/apprise/plugins/NotifyDiscord.py b/apprise/plugins/NotifyDiscord.py index 7394ddc4..72e7ac4c 100644 --- a/apprise/plugins/NotifyDiscord.py +++ b/apprise/plugins/NotifyDiscord.py @@ -42,7 +42,6 @@ # import re import requests -from json import dumps from .NotifyBase import NotifyBase from ..common import NotifyImageSize @@ -178,17 +177,12 @@ class NotifyDiscord(NotifyBase): return - def send(self, body, title='', notify_type=NotifyType.INFO, **kwargs): + def send(self, body, title='', notify_type=NotifyType.INFO, attach=None, + **kwargs): """ Perform Discord Notification """ - headers = { - 'User-Agent': self.app_id, - 'Content-Type': 'multipart/form-data', - } - - # Prepare JSON Object payload = { # Text-To-Speech 'tts': self.tts, @@ -258,6 +252,50 @@ class NotifyDiscord(NotifyBase): # Optionally override the default username of the webhook payload['username'] = self.user + if not self._send(payload): + # We failed to post our message + return False + + if attach: + # Update our payload; the idea is to preserve it's other detected + # and assigned values for re-use here too + payload.update({ + # Text-To-Speech + 'tts': False, + # Wait until the upload has posted itself before continuing + 'wait': True, + }) + + # Remove our text/title based content for attachment use + if 'embeds' in payload: + # Markdown + del payload['embeds'] + + if 'content' in payload: + # Markdown + del payload['content'] + + # Send our attachments + for attachment in attach: + self.logger.info( + 'Posting Discord Attachment {}'.format(attachment.name)) + if not self._send(payload, attach=attachment): + # We failed to post our message + return False + + # Otherwise return + return True + + def _send(self, payload, attach=None, **kwargs): + """ + Wrapper to the requests (post) object + """ + + # Our headers + headers = { + 'User-Agent': self.app_id, + } + # Construct Notify URL notify_url = '{0}/{1}/{2}'.format( self.notify_url, @@ -273,11 +311,19 @@ class NotifyDiscord(NotifyBase): # Always call throttle before any remote server i/o is made self.throttle() + # Our attachment path (if specified) + files = None try: + + # Open our attachment path if required: + if attach: + files = (attach.name, open(attach.path, 'rb')) + r = requests.post( notify_url, - data=dumps(payload), + data=payload, headers=headers, + files=files, verify=self.verify_certificate, ) if r.status_code not in ( @@ -288,8 +334,9 @@ class NotifyDiscord(NotifyBase): NotifyBase.http_response_code_lookup(r.status_code) self.logger.warning( - 'Failed to send Discord notification: ' + 'Failed to send {}to Discord notification: ' '{}{}error={}.'.format( + attach.name if attach else '', status_str, ', ' if status_str else '', r.status_code)) @@ -304,12 +351,24 @@ class NotifyDiscord(NotifyBase): except requests.RequestException as e: self.logger.warning( - 'A Connection error occured sending Discord ' - 'notification.' - ) + 'A Connection error occured posting {}to Discord.'.format( + attach.name if attach else '')) self.logger.debug('Socket Exception: %s' % str(e)) return False + except (OSError, IOError) as e: + self.logger.warning( + 'An I/O error occured while reading {}.'.format( + attach.name if attach else 'attachment')) + self.logger.debug('I/O Exception: %s' % str(e)) + return False + + finally: + # Close our file (if it's open) stored in the second element + # of our files tuple (index 1) + if files: + files[1].close() + return True def url(self, privacy=False, *args, **kwargs): diff --git a/test/test_discord_plugin.py b/test/test_discord_plugin.py new file mode 100644 index 00000000..a29e0bec --- /dev/null +++ b/test/test_discord_plugin.py @@ -0,0 +1,191 @@ +# -*- coding: utf-8 -*- +# +# All rights reserved. +# +# This code is licensed under the MIT License. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files(the "Software"), to deal +# 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 +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + +import os +import six +import mock +import pytest +import requests +from apprise import Apprise +from apprise import AppriseAttachment +from apprise import plugins +from apprise import NotifyType +from apprise import NotifyFormat + +# Disable logging for a cleaner testing output +import logging +logging.disable(logging.CRITICAL) + +# Attachment Directory +TEST_VAR_DIR = os.path.join(os.path.dirname(__file__), 'var') + + +@mock.patch('requests.post') +def test_discord_plugin(mock_post): + """ + API: NotifyDiscord() General Checks + + """ + # Disable Throttling to speed testing + plugins.NotifyBase.request_rate_per_sec = 0 + + # Initialize some generic (but valid) tokens + webhook_id = 'A' * 24 + webhook_token = 'B' * 64 + + # Prepare Mock + mock_post.return_value = requests.Request() + mock_post.return_value.status_code = requests.codes.ok + + # Invalid webhook id + with pytest.raises(TypeError): + plugins.NotifyDiscord(webhook_id=None, webhook_token=webhook_token) + # Invalid webhook id (whitespace) + with pytest.raises(TypeError): + plugins.NotifyDiscord(webhook_id=" ", webhook_token=webhook_token) + + # Invalid webhook token + with pytest.raises(TypeError): + plugins.NotifyDiscord(webhook_id=webhook_id, webhook_token=None) + # Invalid webhook token (whitespace) + with pytest.raises(TypeError): + plugins.NotifyDiscord(webhook_id=webhook_id, webhook_token=" ") + + obj = plugins.NotifyDiscord( + webhook_id=webhook_id, + webhook_token=webhook_token, + footer=True, thumbnail=False) + + # Test that we get a string response + assert isinstance(obj.url(), six.string_types) is True + + # This call includes an image with it's payload: + assert obj.notify( + body='body', title='title', notify_type=NotifyType.INFO) is True + + # Test our header parsing + test_markdown = "## Heading one\nbody body\n\n" + \ + "# Heading 2 ##\n\nTest\n\n" + \ + "more content\n" + \ + "even more content \t\r\n\n\n" + \ + "# Heading 3 ##\n\n\n" + \ + "normal content\n" + \ + "# heading 4\n" + \ + "#### Heading 5" + + results = obj.extract_markdown_sections(test_markdown) + assert isinstance(results, list) is True + # We should have 5 sections (since there are 5 headers identified above) + assert len(results) == 5 + assert results[0]['name'] == 'Heading one' + assert results[0]['value'] == '```md\nbody body\n```' + assert results[1]['name'] == 'Heading 2' + assert results[1]['value'] == \ + '```md\nTest\n\nmore content\neven more content\n```' + assert results[2]['name'] == 'Heading 3' + assert results[2]['value'] == \ + '```md\nnormal content\n```' + assert results[3]['name'] == 'heading 4' + assert results[3]['value'] == '```md\n\n```' + assert results[4]['name'] == 'Heading 5' + assert results[4]['value'] == '```md\n\n```' + + # Test our markdown + obj = Apprise.instantiate( + 'discord://{}/{}/?format=markdown'.format(webhook_id, webhook_token)) + assert isinstance(obj, plugins.NotifyDiscord) + assert obj.notify( + body=test_markdown, title='title', notify_type=NotifyType.INFO) is True + + # Empty String + results = obj.extract_markdown_sections("") + assert isinstance(results, list) is True + assert len(results) == 0 + + # String without Heading + test_markdown = "Just a string without any header entries.\n" + \ + "A second line" + results = obj.extract_markdown_sections(test_markdown) + assert isinstance(results, list) is True + assert len(results) == 0 + + # Use our test markdown string during a notification + assert obj.notify( + body=test_markdown, title='title', notify_type=NotifyType.INFO) is True + + # Create an apprise instance + a = Apprise() + + # Our processing is slightly different when we aren't using markdown + # as we do not pre-parse content during our notifications + assert a.add( + 'discord://{webhook_id}/{webhook_token}/' + '?format=markdown&footer=Yes'.format( + webhook_id=webhook_id, + webhook_token=webhook_token)) is True + + # This call includes an image with it's payload: + assert a.notify(body=test_markdown, title='title', + notify_type=NotifyType.INFO, + body_format=NotifyFormat.TEXT) is True + + assert a.notify(body=test_markdown, title='title', + notify_type=NotifyType.INFO, + body_format=NotifyFormat.MARKDOWN) is True + + # Toggle our logo availability + a.asset.image_url_logo = None + assert a.notify( + body='body', title='title', notify_type=NotifyType.INFO) is True + + +@mock.patch('requests.post') +def test_discord_attachments(mock_post): + """ + API: NotifyDiscord() Attachment Checks + + """ + # Disable Throttling to speed testing + plugins.NotifyBase.request_rate_per_sec = 0 + + # Initialize some generic (but valid) tokens + webhook_id = 'C' * 24 + webhook_token = 'D' * 64 + + # Prepare Mock return object + response = mock.Mock() + response.status_code = requests.codes.ok + + # Throw an exception on the second call to requests.post() + mock_post.side_effect = [response, OSError()] + + # Test our markdown + obj = Apprise.instantiate( + 'discord://{}/{}/?format=markdown'.format(webhook_id, webhook_token)) + + # attach our content + attach = AppriseAttachment(os.path.join(TEST_VAR_DIR, 'apprise-test.gif')) + + # We'll fail now because of an internal exception + assert obj.send(body="test", attach=attach) is False diff --git a/test/test_rest_plugins.py b/test/test_rest_plugins.py index e812f02d..410d7cc0 100644 --- a/test/test_rest_plugins.py +++ b/test/test_rest_plugins.py @@ -3849,125 +3849,6 @@ def test_notify_boxcar_plugin(mock_post, mock_get): assert len(p.device_tokens) == 3 -@mock.patch('requests.get') -@mock.patch('requests.post') -def test_notify_discord_plugin(mock_post, mock_get): - """ - API: NotifyDiscord() Extra Checks - - """ - # Disable Throttling to speed testing - plugins.NotifyBase.request_rate_per_sec = 0 - - # Initialize some generic (but valid) tokens - webhook_id = 'A' * 24 - webhook_token = 'B' * 64 - - # Prepare Mock - mock_get.return_value = requests.Request() - mock_post.return_value = requests.Request() - mock_post.return_value.status_code = requests.codes.ok - mock_get.return_value.status_code = requests.codes.ok - - # Invalid webhook id - with pytest.raises(TypeError): - plugins.NotifyDiscord(webhook_id=None, webhook_token=webhook_token) - # Invalid webhook id (whitespace) - with pytest.raises(TypeError): - plugins.NotifyDiscord(webhook_id=" ", webhook_token=webhook_token) - - # Invalid webhook token - with pytest.raises(TypeError): - plugins.NotifyDiscord(webhook_id=webhook_id, webhook_token=None) - # Invalid webhook token (whitespace) - with pytest.raises(TypeError): - plugins.NotifyDiscord(webhook_id=webhook_id, webhook_token=" ") - - obj = plugins.NotifyDiscord( - webhook_id=webhook_id, - webhook_token=webhook_token, - footer=True, thumbnail=False) - - # This call includes an image with it's payload: - assert obj.notify( - body='body', title='title', notify_type=NotifyType.INFO) is True - - # Test our header parsing - test_markdown = "## Heading one\nbody body\n\n" + \ - "# Heading 2 ##\n\nTest\n\n" + \ - "more content\n" + \ - "even more content \t\r\n\n\n" + \ - "# Heading 3 ##\n\n\n" + \ - "normal content\n" + \ - "# heading 4\n" + \ - "#### Heading 5" - - results = obj.extract_markdown_sections(test_markdown) - assert isinstance(results, list) is True - # We should have 5 sections (since there are 5 headers identified above) - assert len(results) == 5 - assert results[0]['name'] == 'Heading one' - assert results[0]['value'] == '```md\nbody body\n```' - assert results[1]['name'] == 'Heading 2' - assert results[1]['value'] == \ - '```md\nTest\n\nmore content\neven more content\n```' - assert results[2]['name'] == 'Heading 3' - assert results[2]['value'] == \ - '```md\nnormal content\n```' - assert results[3]['name'] == 'heading 4' - assert results[3]['value'] == '```md\n\n```' - assert results[4]['name'] == 'Heading 5' - assert results[4]['value'] == '```md\n\n```' - - # Test our markdown - obj = Apprise.instantiate( - 'discord://{}/{}/?format=markdown'.format(webhook_id, webhook_token)) - assert isinstance(obj, plugins.NotifyDiscord) - assert obj.notify( - body=test_markdown, title='title', notify_type=NotifyType.INFO) is True - - # Empty String - results = obj.extract_markdown_sections("") - assert isinstance(results, list) is True - assert len(results) == 0 - - # String without Heading - test_markdown = "Just a string without any header entries.\n" + \ - "A second line" - results = obj.extract_markdown_sections(test_markdown) - assert isinstance(results, list) is True - assert len(results) == 0 - - # Use our test markdown string during a notification - assert obj.notify( - body=test_markdown, title='title', notify_type=NotifyType.INFO) is True - - # Create an apprise instance - a = Apprise() - - # Our processing is slightly different when we aren't using markdown - # as we do not pre-parse content during our notifications - assert a.add( - 'discord://{webhook_id}/{webhook_token}/' - '?format=markdown&footer=Yes'.format( - webhook_id=webhook_id, - webhook_token=webhook_token)) is True - - # This call includes an image with it's payload: - assert a.notify(body=test_markdown, title='title', - notify_type=NotifyType.INFO, - body_format=NotifyFormat.TEXT) is True - - assert a.notify(body=test_markdown, title='title', - notify_type=NotifyType.INFO, - body_format=NotifyFormat.MARKDOWN) is True - - # Toggle our logo availability - a.asset.image_url_logo = None - assert a.notify( - body='body', title='title', notify_type=NotifyType.INFO) is True - - @mock.patch('requests.get') @mock.patch('requests.post') def test_notify_emby_plugin_login(mock_post, mock_get): From 44a3527221c51c7b1059cf1f849998ff966eca7f Mon Sep 17 00:00:00 2001 From: Chris Caron <lead2gold@gmail.com> Date: Fri, 15 Nov 2019 22:55:43 -0500 Subject: [PATCH 6/7] added cache control to attachments feature --- apprise/AppriseAttachment.py | 48 +++++++++++++-- apprise/attachment/AttachBase.py | 102 +++++++++++++++++++++++++++---- apprise/attachment/AttachFile.py | 6 ++ apprise/attachment/AttachHTTP.py | 48 ++++++++------- test/test_apprise_attachments.py | 47 ++++++++++++-- test/test_attach_file.py | 30 +++++++++ test/test_attach_http.py | 10 ++- test/test_email_plugin.py | 1 - test/test_utils.py | 2 +- 9 files changed, 244 insertions(+), 50 deletions(-) diff --git a/apprise/AppriseAttachment.py b/apprise/AppriseAttachment.py index ee046582..1a79f82f 100644 --- a/apprise/AppriseAttachment.py +++ b/apprise/AppriseAttachment.py @@ -38,18 +38,35 @@ class AppriseAttachment(object): """ - def __init__(self, paths=None, asset=None, **kwargs): + def __init__(self, paths=None, asset=None, cache=True, **kwargs): """ Loads all of the paths/urls specified (if any). The path can either be a single string identifying one explicit location, otherwise you can pass in a series of locations to scan via a list. + + By default we cache our responses so that subsiquent calls does not + cause the content to be retrieved again. For local file references + this makes no difference at all. But for remote content, this does + mean more then one call can be made to retrieve the (same) data. This + method can be somewhat inefficient if disabled. Only disable caching + if you understand the consequences. + + You can alternatively set the cache value to an int identifying the + number of seconds the previously retrieved can exist for before it + should be considered expired. + + It's also worth nothing that the cache value is only set to elements + that are not already of subclass AttachBase() """ # Initialize our attachment listings self.attachments = list() + # Set our cache flag + self.cache = cache + # Prepare our Asset Object self.asset = \ asset if isinstance(asset, AppriseAsset) else AppriseAsset() @@ -61,14 +78,30 @@ class AppriseAttachment(object): # Parse Source domain based on from_addr raise TypeError("One or more attachments could not be added.") - def add(self, attachments, asset=None, db=None): + def add(self, attachments, asset=None, cache=None): """ Adds one or more attachments into our list. + By default we cache our responses so that subsiquent calls does not + cause the content to be retrieved again. For local file references + this makes no difference at all. But for remote content, this does + mean more then one call can be made to retrieve the (same) data. This + method can be somewhat inefficient if disabled. Only disable caching + if you understand the consequences. + + You can alternatively set the cache value to an int identifying the + number of seconds the previously retrieved can exist for before it + should be considered expired. + + It's also worth nothing that the cache value is only set to elements + that are not already of subclass AttachBase() """ # Initialize our return status return_status = True + # Initialize our default cache value + cache = cache if cache is not None else self.cache + if isinstance(asset, AppriseAsset): # prepare default asset asset = self.asset @@ -107,7 +140,8 @@ class AppriseAttachment(object): # Instantiate ourselves an object, this function throws or # returns None if it fails - instance = AppriseAttachment.instantiate(_attachment, asset=asset) + instance = AppriseAttachment.instantiate( + _attachment, asset=asset, cache=cache) if not isinstance(instance, attachment.AttachBase): return_status = False continue @@ -119,12 +153,14 @@ class AppriseAttachment(object): return return_status @staticmethod - def instantiate(url, asset=None, suppress_exceptions=True): + def instantiate(url, asset=None, cache=None, suppress_exceptions=True): """ Returns the instance of a instantiated attachment plugin based on the provided Attachment URL. If the url fails to be parsed, then None is returned. + A specified cache value will over-ride anything set + """ # Attempt to acquire the schema at the very least to allow our # attachment based urls. @@ -156,6 +192,10 @@ class AppriseAttachment(object): results['asset'] = \ asset if isinstance(asset, AppriseAsset) else AppriseAsset() + if cache is not None: + # Force an over-ride of the cache value to what we have specified + results['cache'] = cache + if suppress_exceptions: try: # Attempt to create an instance of our plugin using the parsed diff --git a/apprise/attachment/AttachBase.py b/apprise/attachment/AttachBase.py index 8fdd53af..dce973f5 100644 --- a/apprise/attachment/AttachBase.py +++ b/apprise/attachment/AttachBase.py @@ -24,8 +24,10 @@ # THE SOFTWARE. import os +import time import mimetypes from ..URLBase import URLBase +from ..utils import parse_bool class AttachBase(URLBase): @@ -59,7 +61,7 @@ class AttachBase(URLBase): # 5 MB = 5242880 bytes max_file_size = 5242880 - def __init__(self, name=None, mimetype=None, **kwargs): + def __init__(self, name=None, mimetype=None, cache=True, **kwargs): """ Initialize some general logging and common server arguments that will keep things consistent when working with the configurations that @@ -70,6 +72,17 @@ class AttachBase(URLBase): The mime-type is automatically detected, but you can over-ride this by explicitly stating what it should be. + + By default we cache our responses so that subsiquent calls does not + cause the content to be retrieved again. For local file references + this makes no difference at all. But for remote content, this does + mean more then one call can be made to retrieve the (same) data. This + method can be somewhat inefficient if disabled. Only disable caching + if you understand the consequences. + + You can alternatively set the cache value to an int identifying the + number of seconds the previously retrieved can exist for before it + should be considered expired. """ super(AttachBase, self).__init__(**kwargs) @@ -96,6 +109,18 @@ class AttachBase(URLBase): # Absolute path to attachment self.download_path = None + # Set our cache flag + # it can be True, or an integer + try: + self.cache = cache if isinstance(cache, bool) else int(cache) + if self.cache < 0: + raise ValueError() + + except (ValueError, TypeError): + err = 'An invalid cache value ({}) was specified.'.format(cache) + self.logger.warning(err) + raise TypeError(err) + # Validate mimetype if specified if self._mimetype: if next((t for t in mimetypes.types_map.values() @@ -110,13 +135,13 @@ class AttachBase(URLBase): @property def path(self): """ - Returns the absolute path to the filename + Returns the absolute path to the filename. If this is not known or + is know but has been considered expired (due to cache setting), then + content is re-retrieved prior to returning. """ - if self.download_path: - # return our fixed content - return self.download_path - if not self.download(): + if not self.exists(): + # we could not obtain our path return None return self.download_path @@ -130,7 +155,7 @@ class AttachBase(URLBase): # return our fixed content return self._name - if not self.detected_name and not self.download(): + if not self.exists(): # we could not obtain our name return None @@ -157,8 +182,8 @@ class AttachBase(URLBase): # return our pre-calculated cached content return self._mimetype - if not self.detected_mimetype and not self.download(): - # we could not obtain our name + if not self.exists(): + # we could not obtain our attachment return None if not self.detected_mimetype: @@ -179,14 +204,58 @@ class AttachBase(URLBase): return self.detected_mimetype \ if self.detected_mimetype else self.unknown_mimetype + def exists(self): + """ + Simply returns true if the object has downloaded and stored the + attachment AND the attachment has not expired. + """ + if self.download_path and os.path.isfile(self.download_path) \ + and self.cache: + + # We have enough reason to look further into our cached value + if self.cache is True: + # return our fixed content as is; we will always cache it + return True + + # Verify our cache time to determine whether we will get our + # content again. + try: + age_in_sec = time.time() - os.stat(self.download_path).st_mtime + if age_in_sec <= self.cache: + return True + + except (OSError, IOError): + # The file is not present + pass + + return self.download() + + def invalidate(self): + """ + Release any temporary data that may be open by child classes. + Externally fetched content should be automatically cleaned up when + this function is called. + + This function should also reset the following entries to None: + - detected_name : Should identify a human readable filename + - download_path: Must contain a absolute path to content + - detected_mimetype: Should identify mimetype of content + """ + self.detected_name = None + self.download_path = None + self.detected_mimetype = None + return + def download(self): """ This function must be over-ridden by inheriting classes. - Inherited classes should populate: - - detected_name : Should identify a human readable filename + Inherited classes MUST populate: + - detected_name: Should identify a human readable filename - download_path: Must contain a absolute path to content - detected_mimetype: Should identify mimetype of content + + If a download fails, you should ensure these values are set to None. """ raise NotImplementedError( "download() is implimented by the child class.") @@ -226,6 +295,17 @@ class AttachBase(URLBase): results['name'] = results['qsd'].get('name', '') \ .strip().lower() + # Our cache value + if 'cache' in results['qsd']: + # First try to get it's integer value + try: + results['cache'] = int(results['qsd']['cache']) + + except (ValueError, TypeError): + # No problem, it just isn't an integer; now treat it as a bool + # instead: + results['cache'] = parse_bool(results['qsd']['cache']) + return results def __len__(self): diff --git a/apprise/attachment/AttachFile.py b/apprise/attachment/AttachFile.py index dfcf1226..478e3d6f 100644 --- a/apprise/attachment/AttachFile.py +++ b/apprise/attachment/AttachFile.py @@ -81,6 +81,9 @@ class AttachFile(AttachBase): validate it. """ + # Ensure any existing content set has been invalidated + self.invalidate() + if not os.path.isfile(self.dirty_path): return False @@ -100,6 +103,9 @@ class AttachFile(AttachBase): # a call do download() before returning a success self.download_path = self.dirty_path self.detected_name = os.path.basename(self.download_path) + + # We don't need to set our self.detected_mimetype as it can be + # pulled at the time it's needed based on the detected_name return True @staticmethod diff --git a/apprise/attachment/AttachHTTP.py b/apprise/attachment/AttachHTTP.py index cc45a427..f5986fbb 100644 --- a/apprise/attachment/AttachHTTP.py +++ b/apprise/attachment/AttachHTTP.py @@ -85,10 +85,8 @@ class AttachHTTP(AttachBase): Perform retrieval of the configuration based on the specified request """ - if self._temp_file is not None: - # There is nothing to do; we're already pointing at our downloaded - # content - return True + # Ensure any existing content set has been invalidated + self.invalidate() # prepare header headers = { @@ -188,13 +186,8 @@ class AttachHTTP(AttachBase): int(self.max_file_size / 1024), self.url(privacy=True))) - # Reset our temporary object - self._temp_file = None - - # Ensure our detected name and mimetype are - # reset - self.detected_name = None - self.detected_mimetype = None + # Invalidate any variables previously set + self.invalidate() # Return False (signifying a failure) return False @@ -220,12 +213,8 @@ class AttachHTTP(AttachBase): 'configuration from %s.' % self.host) self.logger.debug('Socket Exception: %s' % str(e)) - # Reset our temporary object - self._temp_file = None - - # Ensure our detected name and mimetype are reset - self.detected_name = None - self.detected_mimetype = None + # Invalidate any variables previously set + self.invalidate() # Return False (signifying a failure) return False @@ -239,12 +228,8 @@ class AttachHTTP(AttachBase): 'Could not write attachment to disk: {}'.format( self.url(privacy=True))) - # Reset our temporary object - self._temp_file = None - - # Ensure our detected name and mimetype are reset - self.detected_name = None - self.detected_mimetype = None + # Invalidate any variables previously set + self.invalidate() # Return False (signifying a failure) return False @@ -252,14 +237,31 @@ class AttachHTTP(AttachBase): # Return our success return True + def invalidate(self): + """ + Close our temporary file + """ + if self._temp_file: + self._temp_file.close() + self._temp_file = None + + super(AttachHTTP, self).invalidate() + def url(self, privacy=False, *args, **kwargs): """ Returns the URL built dynamically based on specified arguments. """ + # Prepare our cache value + if isinstance(self.cache, bool) or not self.cache: + cache = 'yes' if self.cache else 'no' + else: + cache = int(self.cache) + # Define any arguments set args = { 'verify': 'yes' if self.verify_certificate else 'no', + 'cache': cache, } if self._mimetype: diff --git a/test/test_apprise_attachments.py b/test/test_apprise_attachments.py index 7ac07826..7e78994a 100644 --- a/test/test_apprise_attachments.py +++ b/test/test_apprise_attachments.py @@ -58,7 +58,8 @@ def test_apprise_attachment(): assert not aa # An attachment object using a custom Apprise Asset object - aa = AppriseAttachment(asset=AppriseAsset()) + # Set a cache expiry of 5 minutes (300 seconds) + aa = AppriseAttachment(asset=AppriseAsset(), cache=300) # still no attachments added assert len(aa) == 0 @@ -70,6 +71,9 @@ def test_apprise_attachment(): # There is now 1 attachment assert len(aa) == 1 + # our attachment took on our cache value + assert aa[0].cache == 300 + # we can test the object as a boolean and get a value of True now assert aa @@ -81,23 +85,34 @@ def test_apprise_attachment(): # There is now 2 attachments assert len(aa) == 2 + # No cache set, so our cache defaults to True + assert aa[1].cache is True + # Reset our object aa = AppriseAttachment() # We can add by lists as well in a variety of formats attachments = ( path, - 'file://{}?name=newfilename.gif'.format(path), + 'file://{}?name=newfilename.gif?cache=120'.format(path), AppriseAttachment.instantiate( - 'file://{}?name=anotherfilename.gif'.format(path)), + 'file://{}?name=anotherfilename.gif'.format(path), cache=100), ) # Add them - assert aa.add(attachments) + assert aa.add(attachments, cache=False) # There is now 3 attachments assert len(aa) == 3 + # Take on our fixed cache value of False. + # The last entry will have our set value of 100 + assert aa[0].cache is False + # Even though we set a value of 120, we take on the value of False because + # it was forced on the instantiate call + assert aa[1].cache is False + assert aa[2].cache == 100 + # We can pop the last element off of the list as well attachment = aa.pop() assert isinstance(attachment, AttachBase) @@ -140,6 +155,30 @@ def test_apprise_attachment(): assert len(aa) == 0 assert not aa + assert aa.add(AppriseAttachment.instantiate( + 'file://{}?name=andanother.png&cache=Yes'.format(path))) + assert aa.add(AppriseAttachment.instantiate( + 'file://{}?name=andanother.png&cache=No'.format(path))) + AppriseAttachment.instantiate( + 'file://{}?name=andanother.png&cache=600'.format(path)) + assert aa.add(AppriseAttachment.instantiate( + 'file://{}?name=andanother.png&cache=600'.format(path))) + + assert len(aa) == 3 + assert aa[0].cache is True + assert aa[1].cache is False + assert aa[2].cache == 600 + + # Negative cache are not allowed + assert not aa.add(AppriseAttachment.instantiate( + 'file://{}?name=andanother.png&cache=-600'.format(path))) + + # No length change + assert len(aa) == 3 + + # Reset our object + aa.clear() + # if instantiating attachments from the class, it will throw a TypeError # if attachments couldn't be loaded with pytest.raises(TypeError): diff --git a/test/test_attach_file.py b/test/test_attach_file.py index 936534f0..fa3954ce 100644 --- a/test/test_attach_file.py +++ b/test/test_attach_file.py @@ -24,6 +24,7 @@ # THE SOFTWARE. import re +import time import mock from os.path import dirname from os.path import join @@ -51,6 +52,35 @@ def test_attach_file_parse_url(): assert AttachFile.parse_url('file://') is None +def test_file_expiry(tmpdir): + """ + API: AttachFile Expiry + """ + path = join(TEST_VAR_DIR, 'apprise-test.gif') + image = tmpdir.mkdir("apprise_file").join("test.jpg") + with open(path, 'rb') as data: + image.write(data) + + aa = AppriseAttachment.instantiate(str(image), cache=30) + + # Our file is now available + assert aa.exists() + + # Our second call has the file already downloaded, but now compares + # it's date against when we consider it to have expire. We're well + # under 30 seconds here (our set value), so this will succeed + assert aa.exists() + + with mock.patch('time.time', return_value=time.time() + 31): + # This will force a re-download as our cache will have + # expired + assert aa.exists() + + with mock.patch('time.time', side_effect=OSError): + # We will throw an exception + assert aa.exists() + + def test_attach_file(): """ API: AttachFile() diff --git a/test/test_attach_http.py b/test/test_attach_http.py index 277d60ed..991cf910 100644 --- a/test/test_attach_http.py +++ b/test/test_attach_http.py @@ -333,17 +333,15 @@ def test_attach_http(mock_get): # Handle edge-case where detected_name is None for whatever reason attachment.detected_name = None - assert attachment.mimetype == 'application/octet-stream' - assert attachment.name == '{}{}'.format( - AttachHTTP.unknown_filename, - mimetypes.guess_extension(attachment.mimetype) - ) + assert attachment.mimetype == attachment.unknown_mimetype + assert attachment.name.startswith(AttachHTTP.unknown_filename) assert len(attachment) == getsize(path) # Exception handling mock_get.return_value = None for _exception in REQUEST_EXCEPTIONS: - aa = AppriseAttachment.instantiate('http://localhost/exception.gif') + aa = AppriseAttachment.instantiate( + 'http://localhost/exception.gif?cache=30') assert isinstance(aa, AttachHTTP) mock_get.side_effect = _exception diff --git a/test/test_email_plugin.py b/test/test_email_plugin.py index c7ceb20e..c20bef42 100644 --- a/test/test_email_plugin.py +++ b/test/test_email_plugin.py @@ -43,7 +43,6 @@ logging.disable(logging.CRITICAL) # Attachment Directory TEST_VAR_DIR = os.path.join(os.path.dirname(__file__), 'var') - TEST_URLS = ( ################################## # NotifyEmail diff --git a/test/test_utils.py b/test/test_utils.py index a63936dc..cb85e8dd 100644 --- a/test/test_utils.py +++ b/test/test_utils.py @@ -736,7 +736,7 @@ def test_exclusive_match(): logic='match_me', data=data, match_all='match_me') is True -def test_apprise_validate_regex(tmpdir): +def test_apprise_validate_regex(): """ API: Apprise() Validate Regex tests From 0653835b3fb0a55f41908116443d8ea144c65e7c Mon Sep 17 00:00:00 2001 From: Chris Caron <lead2gold@gmail.com> Date: Sat, 16 Nov 2019 21:44:17 -0500 Subject: [PATCH 7/7] updated README to explain attachments --- README.md | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/README.md b/README.md index 54714d61..0268f9f7 100644 --- a/README.md +++ b/README.md @@ -153,6 +153,23 @@ apprise -t 'my title' -b 'my notification body' \ --config=https://localhost/my/apprise/config ``` +### Attaching Files +Apprise also supports file attachments too! Specify as many attachments to a notification as you want. +```bash +# Send a funny image you found on the internet to a colleage: +apprise --title 'Agile Joke' \ + --body 'Did you see this one yet?' \ + --attach https://i.redd.it/my2t4d2fx0u31.jpg \ + 'mailto://myemail:mypass@gmail.com' + +# Easily send an update from a critical server to your dev team +apprise --title 'system crash' \ + --body 'I do not think Jim fixed the bug; see attached...' \ + --attach /var/log/myprogram.log \ + --attach /var/debug/core.2345 \ + --tag devteam +``` + ## Developers To send a notification from within your python application, just do the following: ```python @@ -228,4 +245,56 @@ apobj.notify( ) ``` +### Attaching Files +Attachments are very easy to send using the Apprise API: +```python +import apprise + +# Create an Apprise instance +apobj = apprise.Apprise() + +# Add at least one service you want to notify +apobj.add('mailto://myuser:mypass@hotmail.com') + +# Then send your attachment. +apobj.notify( + title='A great photo of our family', + body='The flash caused Jane to close her eyes! hah! :)', + attach='/local/path/to/my/DSC_003.jpg', +) + +# Send a web based attachment too! In the below example, we connect to a home +# security camera and send a live image to an email. By default remote web +# content is cached but for a security camera, we might want to call notify +# again later in our code so we want our last image retrieved to expire(in +# this case after 3 seconds). +apobj.notify( + title='Latest security image', + attach='http:/admin:password@hikvision-cam01/ISAPI/Streaming/channels/101/picture?cache=3' +) + +# To send more than one attachment, you just need another object: +from apprise import AppriseAttachment + +# Initialize our attachment object +aa = AppriseAttachment() + +# Now add all of the entries we're intrested in: +# ?name= allows us to rename the actual jpeg as found on the site +# to be another name when sent to our receipient(s) +aa.add('https://i.redd.it/my2t4d2fx0u31.jpg?name=FlyingToMars.jpg') + +# Now add another: +aa.add('/path/to/funny/joke.gif') + +# Send your multiple attachments with a single notify call: +apobj.notify( + title='Some good jokes.' + body='Hey guys, check out these!' + attach=aa, + tag=friends +) +``` + +## Want To Learn More? If you're interested in reading more about this and other methods on how to customize your own notifications, please check out the wiki at https://github.com/caronc/apprise/wiki/Development_API. You can also find more examples on how to use the command line tool at: https://github.com/caronc/apprise/wiki/CLI_Usage.