Browse Source

add dry-run option / fix bugs

Marcus Scharf 6 years ago
parent
commit
33748cdfcb
2 changed files with 12 additions and 8 deletions
  1. 3 2
      ext-respondd.py
  2. 9 6
      lib/respondd_client.py

+ 3 - 2
ext-respondd.py

@@ -11,6 +11,7 @@ parser = argparse.ArgumentParser()
 
 parser.add_argument('-d', '--test', action='store_true', help='Test Output', required=False)
 parser.add_argument('-v', '--verbose', action='store_true', help='Verbose Output', required=False)
+parser.add_argument('-t', '--dry-run', action='store_true', help='Dry Run', required=False)
 
 args = parser.parse_args()
 options = vars(args)
@@ -31,8 +32,8 @@ if options["test"]:
   print(json.dumps(Neighbours(config).getStruct(), sort_keys=True, indent=4))
   sys.exit(1)
 
-if options["vebose"]:
-  config["verbose"] = True
+config["verbose"] = options["verbose"]
+config["dry_run"] = options["dry_run"]
 
 extResponddClient = ResponddClient(config)
 extResponddClient.start()

+ 9 - 6
lib/respondd_client.py

@@ -8,6 +8,7 @@ from lib.statistics import Statistics
 import socket
 import select
 import struct
+import json
 
 class ResponddClient:
   def __init__(self, config):
@@ -72,11 +73,13 @@ class ResponddClient:
       print("unknown command: " + request)
       return
 
-    if compress:
-      sock.sendto(response.getJSONCompressed(request), sender)
-    else:
-      sock.sendto(response.getJSON(request), sender)
+    if not self._config["dry_run"]:
+      if compress:
+        sock.sendto(response.getJSONCompressed(request), sender)
+      else:
+        sock.sendto(response.getJSON(request), sender)
 
-    if self._config["verbose"]:
-        print(json.dumps(response.getStruct(), sort_keys=True, indent=4))
+    if self._config["verbose"] or self._config["dry_run"]:
+      print("%35s %5d %13s: " % (sender[0], sender[1], request), end='')
+      print(json.dumps(response.getStruct(), sort_keys=True, indent=4))