rewrote use of map() to list comprehension as use of map() is an anti-pattern as part of the fix.

This commit is contained in:
2016-10-18 01:59:46 +02:00
parent fd109cdada
commit 3e330c37e2

View File

@@ -359,9 +359,8 @@ def checkotp(url, subject, secret, isserial=False, nas=None):
if not isempty(nas):
params['nas'] = nas
if logger.isEnabledFor(logging.DEBUG):
logger.debug('HTTP request parameters: %s',
', '.join(map(lambda (k,v): '%s="%s"' % (k, v if k!='pass'
else '***MASKED***'), params.iteritems())))
logger.debug('HTTP request parameters: %s', ', '.join([ '%s=%s' % (k,
v if k!='pass' else '***MASKED***') for k,v in params.iteritems()]))
# Perform the API authentication request
response = json.load(urlopen(Request(url, data=urlencode(params))))
@@ -372,16 +371,15 @@ def checkotp(url, subject, secret, isserial=False, nas=None):
def nagios_exit(status, message, data=None):
"""exit 'nagios-style', print status and message followed by the data"""
"""exit 'nagios-style', print status and message followed by perf. data"""
if logger.isEnabledFor(logging.CRITICAL):
if data is not None and len(data) > 0:
perfdata=map(lambda (k,v): "'%s'=%s" %(k,v if not isinstance(v,list)
else ';'.join(map(lambda x:'' if x is None else str(x),v)))
,data.iteritems())
perfstr = ' | ' + ' '.join(perfdata)
perfdata = ' | ' + ' '.join([ "'%s'=%s" % (k,
';'.join(['' if x is None else str(x) for x in v])
if isinstance(v,list) else v) for k,v in data ])
else:
perfstr = ''
print 'OTP %s: %s%s' % (status[0], message, perfstr)
perfdata = ''
print 'OTP %s: %s%s' % (status[0], message, perfdata)
sys.exit(status[1])
@@ -478,5 +476,5 @@ if __name__ == '__main__':
if 'message' in detaildata:
message += ': ' + detaildata.get('message')
nagios_exit(nagiosresult, message, {
'time': [ elapse, args.warn, args.critical, 0, None]})
nagios_exit(nagiosresult, message, [
('time', [ elapse, args.warn, args.critical, 0, None ])])