From ed72bde4345219bdd64c77a07ef40c173e1c5ed1 Mon Sep 17 00:00:00 2001
From: Thl CMK <thl-cmk@outlook.com>
Date: Sun, 26 Jul 2020 22:11:06 +0200
Subject: [PATCH] update project

---
 checks/ospf_neighbor |  17 +++++++----------
 ospf_neighbor.mkp    | Bin 7255 -> 7247 bytes
 2 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/checks/ospf_neighbor b/checks/ospf_neighbor
index c474a53..8dbc8ec 100644
--- a/checks/ospf_neighbor
+++ b/checks/ospf_neighbor
@@ -72,6 +72,7 @@
 factory_settings['ospf_neighbor_default_levels'] = {
 }
 
+
 def parse_ospf_neighbor(info):
     def ospf_nbr_hellosuppressed(st):
         names = {'1': 'true',
@@ -131,7 +132,7 @@ def parse_ospf_neighbor(info):
 
     parsed = {}
     for ip, rtrid, options, prio, state, events, permanence, hellosup, helperstatus, helperage, helperexitreason in info:
-        parsed[ip]={}
+        parsed[ip] = {}
         parsed[ip]['rtrid'] = rtrid
         parsed[ip]['options'] = ospf_nbr_options(options)
         parsed[ip]['prio'] = prio
@@ -148,7 +149,7 @@ def parse_ospf_neighbor(info):
 
 def inventory_ospf_neighbor(parsed):
     for neighbor in parsed.keys():
-        yield  neighbor, None
+        yield neighbor, None
 
 
 def check_ospf_neighbor(item, params, parsed):
@@ -206,9 +207,9 @@ def check_ospf_neighbor(item, params, parsed):
             ('\nNeighbor helper status', neighbor['helperstatus']),
             ('\nNeighbor helper age', neighbor['helperage']),
             ('\nNeighbor helper exit reason', neighbor['helperexitreason']),
-            ]:
+        ]:
             if value != '':
-                longoutput += '%s: %s' %(text, value)
+                longoutput += '%s: %s' % (text, value)
 
         yield 0, infotext + longoutput, perfdata
     else:
@@ -239,9 +240,5 @@ check_info['ospf_neighbor'] = {
                                 12,  # 'ospfNbrRestartHelperStatus'
                                 13,  # 'ospfNbrRestartHelperAge'
                                 14,  # 'ospfNbrRestartHelperExitReason'
-                                ]
-                                ),
- }
-
-
-
+                               ]),
+                        }
\ No newline at end of file
diff --git a/ospf_neighbor.mkp b/ospf_neighbor.mkp
index c787cf387baf6ffa9924f1f20d128f8eb763751b..47eace5da8e8060c41617a6dd1c0994c777d1e08 100644
GIT binary patch
delta 7074
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

delta 7115
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
L5b%K;hJ*VLEVTO9

-- 
GitLab