summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimeon Simeonov2015-04-16 13:41:29 +0200
committerSimeon Simeonov2015-04-16 13:41:29 +0200
commitb2ccfda61b7b7a1b37d4f9ffed57fcc4585d9ce0 (patch)
treecbc56e662d6e44c89d33a1a00665474daca25151
parentc251865a374019bf4716d9bef2545bfe565d0a33 (diff)
Add support for socket timeout. PEP8 fixes
-rwxr-xr-xbeinc_generic_client.py14
-rwxr-xr-xbeinc_poller.py15
2 files changed, 27 insertions, 2 deletions
diff --git a/beinc_generic_client.py b/beinc_generic_client.py
index 0627ce5..48d6a13 100755
--- a/beinc_generic_client.py
+++ b/beinc_generic_client.py
@@ -23,7 +23,7 @@ import errno
23import getpass 23import getpass
24import httplib # for Python < 2.7.9 24import httplib # for Python < 2.7.9
25import os 25import os
26import socket # for Python < 2.7.9 26import socket
27import ssl 27import ssl
28import sys 28import sys
29import xmlrpclib 29import xmlrpclib
@@ -147,6 +147,9 @@ def action_execute(args):
147 except ssl.SSLError as e: 147 except ssl.SSLError as e:
148 sys.stderr.write('BEINC SSL/TLS error: {0}\n'.format(e)) 148 sys.stderr.write('BEINC SSL/TLS error: {0}\n'.format(e))
149 sys.exit(errno.EPERM) 149 sys.exit(errno.EPERM)
150 except socket.error as e:
151 sys.stderr.write('BEINC connection error: {0}\n'.format(e))
152 sys.exit(errno.EPERM)
150 except Exception as e: 153 except Exception as e:
151 sys.stderr.write('BEINC generic client error: {0}\n'.format(e)) 154 sys.stderr.write('BEINC generic client error: {0}\n'.format(e))
152 sys.exit(errno.EPERM) 155 sys.exit(errno.EPERM)
@@ -234,6 +237,13 @@ def main():
234 default='auto', 237 default='auto',
235 help='Use SSL version: "auto" (default), "SSLv3", "TLSv1"') 238 help='Use SSL version: "auto" (default), "SSLv3", "TLSv1"')
236 parser.add_argument( 239 parser.add_argument(
240 '-T', '--socket-timeout',
241 metavar='SECONDS',
242 type=int,
243 dest='socket_timeout',
244 default=3,
245 help='Socket timeout in seconds (0=Python default) (default: 3)')
246 parser.add_argument(
237 '-t', '--title', 247 '-t', '--title',
238 metavar='TITLE', 248 metavar='TITLE',
239 type=str, 249 type=str,
@@ -262,6 +272,8 @@ def main():
262 except Exception as e: 272 except Exception as e:
263 sys.stderr.write('Unable to open password file: {0}'.format(e)) 273 sys.stderr.write('Unable to open password file: {0}'.format(e))
264 sys.exit(1) 274 sys.exit(1)
275 if args.socket_timeout:
276 socket.setdefaulttimeout(args.socket_timeout)
265 action_execute(args) 277 action_execute(args)
266 sys.exit(0) 278 sys.exit(0)
267 279
diff --git a/beinc_poller.py b/beinc_poller.py
index dee533e..f9c5cca 100755
--- a/beinc_poller.py
+++ b/beinc_poller.py
@@ -23,7 +23,8 @@ import errno
23import getpass 23import getpass
24import httplib # for Python < 2.7.9 24import httplib # for Python < 2.7.9
25import os 25import os
26import socket # for Python < 2.7.9 26import sched
27import socket
27import ssl 28import ssl
28import sys 29import sys
29import time 30import time
@@ -219,6 +220,9 @@ def poll_notifications(scheduler, args):
219 except ssl.SSLError as e: 220 except ssl.SSLError as e:
220 sys.stderr.write('BEINC SSL/TLS error: {0}\n'.format(e)) 221 sys.stderr.write('BEINC SSL/TLS error: {0}\n'.format(e))
221 sys.exit(errno.EPERM) 222 sys.exit(errno.EPERM)
223 except socket.error as e:
224 sys.stderr.write('BEINC connection error: {0}\n'.format(e))
225 sys.exit(errno.EPERM)
222 except Exception as e: 226 except Exception as e:
223 sys.stderr.write('BEINC generic client error: {0}\n'.format(e)) 227 sys.stderr.write('BEINC generic client error: {0}\n'.format(e))
224 sys.exit(errno.EPERM) 228 sys.exit(errno.EPERM)
@@ -342,6 +346,13 @@ def main():
342 default='auto', 346 default='auto',
343 help='Use SSL version: "auto" (default), "SSLv3", "TLSv1"') 347 help='Use SSL version: "auto" (default), "SSLv3", "TLSv1"')
344 parser.add_argument( 348 parser.add_argument(
349 '-T', '--socket-timeout',
350 metavar='SECONDS',
351 type=int,
352 dest='socket_timeout',
353 default=3,
354 help='Socket timeout in seconds (0=Python default) (default: 3)')
355 parser.add_argument(
345 '-t', '--osd-timeout', 356 '-t', '--osd-timeout',
346 metavar='SECONDS', 357 metavar='SECONDS',
347 type=int, 358 type=int,
@@ -376,6 +387,8 @@ def main():
376 except Exception as e: 387 except Exception as e:
377 sys.stderr.write('Unable to open password file: {0}'.format(e)) 388 sys.stderr.write('Unable to open password file: {0}'.format(e))
378 sys.exit(1) 389 sys.exit(1)
390 if args.socket_timeout:
391 socket.setdefaulttimeout(args.socket_timeout)
379 scheduler = sched.scheduler(time.time, time.sleep) 392 scheduler = sched.scheduler(time.time, time.sleep)
380 scheduler.enter(args.frequency, 393 scheduler.enter(args.frequency,
381 1, 394 1,