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