From bf46d46816d0c7f4a93c3c909140f6bde4f63cf4 Mon Sep 17 00:00:00 2001
From: Erik Reid <erik.reid@geant.org>
Date: Mon, 31 May 2021 12:15:40 +0200
Subject: [PATCH] use click.File instead of click.STRING

---
 brian_polling_manager/cli.py | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/brian_polling_manager/cli.py b/brian_polling_manager/cli.py
index 6711ed4..4459299 100644
--- a/brian_polling_manager/cli.py
+++ b/brian_polling_manager/cli.py
@@ -186,7 +186,7 @@ class State(object):
             f.write(json.dumps(new_interfaces))
 
 
-def _validate_config(ctx, param, value):
+def _validate_config(ctx, param, file):
     """
     loads, validates and returns configuration parameters
 
@@ -195,12 +195,11 @@ def _validate_config(ctx, param, value):
     :param value: filename (string)
     :return: a dict containing configuration parameters
     """
-    if value is None:
+    if file is None:
         config = _DEFAULT_CONFIG
     else:
         try:
-            with open(value) as f:
-                config = json.loads(f.read())
+            config = json.loads(file.read())
         except (json.JSONDecodeError, jsonschema.ValidationError) as e:
             raise click.BadParameter(str(e))
 
@@ -216,13 +215,13 @@ def _validate_config(ctx, param, value):
 @click.option(
     '--config',
     default=None,
-    type=click.STRING,
+    type=click.File('r'),
     callback=_validate_config,
     help='configuration filename')
 @click.option(
     '--force/--no-force',
     default=False,
-    help="update even if inventory hasn't been updated")
+    help="refresh inventory data even if it hasn't been updated")
 def main(config, force):
     """
     Update BRIAN snmp checks based on Inventory Provider data.
-- 
GitLab