소스 검색

fix typo in setup.py
handle if apprise cannot be imported

Pim Kunis 1 년 전
부모
커밋
db8079b699
2개의 변경된 파일15개의 추가작업 그리고 11개의 파일을 삭제
  1. 14 10
      borgmatic/hooks/apprise.py
  2. 1 1
      setup.py

+ 14 - 10
borgmatic/hooks/apprise.py

@@ -1,17 +1,7 @@
 import logging
 import logging
 
 
-import apprise
-from apprise import NotifyType, NotifyFormat
-
 logger = logging.getLogger(__name__)
 logger = logging.getLogger(__name__)
 
 
-state_to_notify_type = {
-    'start': NotifyType.INFO,
-    'finish': NotifyType.SUCCESS,
-    'fail': NotifyType.FAILURE,
-    'log': NotifyType.INFO
-}
-
 
 
 def initialize_monitor(
 def initialize_monitor(
     ping_url, config, config_filename, monitoring_log_level, dry_run
     ping_url, config, config_filename, monitoring_log_level, dry_run
@@ -27,6 +17,20 @@ def ping_monitor(hook_config, config, config_filename, state, monitoring_log_lev
     Ping the configured Apprise service URLs. Use the given configuration filename in any log
     Ping the configured Apprise service URLs. Use the given configuration filename in any log
     entries. If this is a dry run, then don't actually ping anything.
     entries. If this is a dry run, then don't actually ping anything.
     '''
     '''
+    try:
+        import apprise
+        from apprise import NotifyType, NotifyFormat
+    except ImportError:
+        logger.warning('Unable to import Apprise in monitoring hook')
+        return
+
+    state_to_notify_type = {
+        'start': NotifyType.INFO,
+        'finish': NotifyType.SUCCESS,
+        'fail': NotifyType.FAILURE,
+        'log': NotifyType.INFO
+    }
+
     run_states = hook_config.get('states', ['fail'])
     run_states = hook_config.get('states', ['fail'])
 
 
     if state.name.lower() not in run_states:
     if state.name.lower() not in run_states:

+ 1 - 1
setup.py

@@ -36,7 +36,7 @@ setup(
         'ruamel.yaml>0.15.0,<0.18.0',
         'ruamel.yaml>0.15.0,<0.18.0',
         'setuptools'
         'setuptools'
     ),
     ),
-    extra_require={
+    extras_require={
         "Apprise": ["apprise"]
         "Apprise": ["apprise"]
     },
     },
     include_package_data=True,
     include_package_data=True,