changeset 9:8830c7d59d7e

Early return if not silos are defined.
author Ludovic Chabant <ludovic@chabant.com>
date Sun, 29 Jul 2018 20:01:30 -0700
parents da8376f8d13a
children 497427330295
files silorider/main.py silorider/silos/base.py
diffstat 2 files changed, 15 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/silorider/main.py	Sun Jul 29 20:01:12 2018 -0700
+++ b/silorider/main.py	Sun Jul 29 20:01:30 2018 -0700
@@ -155,6 +155,12 @@
         config_paths.append(args.config)
     config.read(config_paths)
 
+    from .silos.base import has_any_silo
+    if not has_any_silo(config):
+        logger.warning("No silos defined in the configuration file. "
+                       "Nothing to do!")
+        return
+
     logger.debug("Initializing cache.")
     from .cache.base import load_cache
     cfg_dir = os.path.dirname(args.config) if args.config else None
@@ -163,10 +169,6 @@
     logger.debug("Initializing silo riders.")
     from .silos.base import load_silos
     silos = load_silos(config, cache)
-    if not silos:
-        logger.warning("No silos defined in the configuration file. "
-                       "Nothing to do!")
-        return
 
     ctx = ExecutionContext(args, config, cache, silos)
 
--- a/silorider/silos/base.py	Sun Jul 29 20:01:12 2018 -0700
+++ b/silorider/silos/base.py	Sun Jul 29 20:01:30 2018 -0700
@@ -80,6 +80,14 @@
         pass
 
 
+def _get_silo_section_names(config):
+    return [sn for sn in config.sections() if sn.startswith('silo:')]
+
+
+def has_any_silo(config):
+    return bool(_get_silo_section_names(config))
+
+
 def load_silos(config, cache):
     from .print import PrintSilo
     from .mastodon import MastodonSilo
@@ -88,7 +96,7 @@
     silo_dict = dict([(s.SILO_TYPE, s) for s in silo_types])
 
     silos = []
-    sec_names = [sn for sn in config.sections() if sn.startswith('silo:')]
+    sec_names = _get_silo_section_names(config)
     for sec_name in sec_names:
         silo_name = sec_name[5:]
         sec_items = dict(config.items(sec_name))