total_seconds not present on timedelta on python2.6

reviewable/pr18780/r1
Lars Larsson 9 years ago
parent 0de2627efc
commit fa2ea225dd

@ -322,6 +322,11 @@ def _create_connection( (host, port), connect_timeout):
connect_socket = socket.create_connection( (host, port), connect_timeout) connect_socket = socket.create_connection( (host, port), connect_timeout)
return connect_socket return connect_socket
def _timedelta_total_seconds(timedelta):
return (
timedelta.microseconds + 0.0 +
(timedelta.seconds + timedelta.days * 24 * 3600) * 10 ** 6) / 10 ** 6
def main(): def main():
module = AnsibleModule( module = AnsibleModule(
@ -432,7 +437,7 @@ def main():
except IOError: except IOError:
pass pass
elif port: elif port:
alt_connect_timeout = math.ceil((end - datetime.datetime.now()).total_seconds()) alt_connect_timeout = math.ceil(_timedelta_total_seconds(end - datetime.datetime.now()))
try: try:
s = _create_connection((host, port), min(connect_timeout, alt_connect_timeout)) s = _create_connection((host, port), min(connect_timeout, alt_connect_timeout))
except: except:
@ -444,7 +449,7 @@ def main():
data = '' data = ''
matched = False matched = False
while datetime.datetime.now() < end: while datetime.datetime.now() < end:
max_timeout = math.ceil((end - datetime.datetime.now()).total_seconds()) max_timeout = math.ceil(_timedelta_total_seconds(end - datetime.datetime.now()))
(readable, w, e) = select.select([s], [], [], max_timeout) (readable, w, e) = select.select([s], [], [], max_timeout)
if not readable: if not readable:
# No new data. Probably means our timeout # No new data. Probably means our timeout

Loading…
Cancel
Save