From 4f4b15d47ebe27ad609b2b2ba78e22cb7bddaf94 Mon Sep 17 00:00:00 2001 From: Chris Caron Date: Fri, 14 Aug 2020 21:40:19 -0400 Subject: [PATCH] Asset passed into AppriseConfig() is now recognized (#272) --- apprise/cli.py | 3 ++- apprise/config/ConfigBase.py | 3 +++ test/test_config_file.py | 9 ++++++++- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/apprise/cli.py b/apprise/cli.py index 9cd0feb2..3fd3450f 100644 --- a/apprise/cli.py +++ b/apprise/cli.py @@ -204,7 +204,8 @@ def main(body, title, config, attach, urls, notification_type, theme, tag, # identified on the command line a.add(AppriseConfig( paths=[f for f in DEFAULT_SEARCH_PATHS if isfile(expanduser(f))] - if not (config or urls) else config), asset=asset) + if not (config or urls) else config, + asset=asset)) # Load our inventory up for url in urls: diff --git a/apprise/config/ConfigBase.py b/apprise/config/ConfigBase.py index 8a52db2c..274590d4 100644 --- a/apprise/config/ConfigBase.py +++ b/apprise/config/ConfigBase.py @@ -154,6 +154,9 @@ class ConfigBase(URLBase): # Dynamically load our parse_ function based on our config format fn = getattr(ConfigBase, 'config_parse_{}'.format(config_format)) + # Initialize our asset object + asset = asset if isinstance(asset, AppriseAsset) else self.asset + # Execute our config parse function which always returns a list self._cached_servers.extend(fn(content=content, asset=asset)) diff --git a/test/test_config_file.py b/test/test_config_file.py index 2f04b891..abf990fa 100644 --- a/test/test_config_file.py +++ b/test/test_config_file.py @@ -27,6 +27,7 @@ import six import mock from apprise.config.ConfigFile import ConfigFile from apprise.plugins.NotifyBase import NotifyBase +from apprise.AppriseAsset import AppriseAsset # Disable logging for a cleaner testing output import logging @@ -47,14 +48,20 @@ def test_config_file(tmpdir): assert ConfigFile.parse_url('file://?') is None + # Create an Apprise asset we can reference + asset = AppriseAsset() + # Initialize our object - cf = ConfigFile(path=str(t), format='text') + cf = ConfigFile(path=str(t), format='text', asset=asset) # one entry added assert len(cf) == 1 assert isinstance(cf.url(), six.string_types) is True + # Verify that we're using the same asset + assert cf[0].asset is asset + # Testing of pop cf = ConfigFile(path=str(t), format='text')