Skip to content

Commit 3592e16

Browse files
chore: refectoring check snmp device logic
1 parent 8d35417 commit 3592e16

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

splunk_connect_for_snmp/discovery/discovery_manager.py

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,20 @@ def check_snmp_device(self, ip, discovery_record: DiscoveryRecord):
5454
_, value = var_binds[0]
5555
if isinstance(discovery_record.device_rules, list):
5656
for device_rule in discovery_record.device_rules:
57-
regex_pattern = fnmatch.translate(device_rule["patterns"])
58-
if re.search(regex_pattern, value.prettyPrint(), re.IGNORECASE):
59-
group_name = device_rule["group"]
60-
break
57+
pattern = device_rule.get("patterns")
58+
if not pattern:
59+
continue
60+
regex_pattern = fnmatch.translate(pattern)
61+
try:
62+
if re.search(regex_pattern, value.prettyPrint(), re.IGNORECASE):
63+
group_name = device_rule["group"]
64+
break
65+
except Exception as e:
66+
logger.error(
67+
f"Error occurred while matching regex pattern {regex_pattern} : {e}"
68+
"continuing with next pattern."
69+
)
70+
continue
6171
return {
6272
"key": discovery_record.discovery_name,
6373
"ip": ip,

0 commit comments

Comments
 (0)