diff options
| author | Simeon Simeonov | 2015-04-16 13:41:29 +0200 |
|---|---|---|
| committer | Simeon Simeonov | 2015-04-16 13:41:29 +0200 |
| commit | b2ccfda61b7b7a1b37d4f9ffed57fcc4585d9ce0 (patch) | |
| tree | cbc56e662d6e44c89d33a1a00665474daca25151 | |
| parent | c251865a374019bf4716d9bef2545bfe565d0a33 (diff) | |
Add support for socket timeout. PEP8 fixes
| -rwxr-xr-x | beinc_generic_client.py | 14 | ||||
| -rwxr-xr-x | beinc_poller.py | 15 |
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 | |||
| 23 | import getpass | 23 | import getpass |
| 24 | import httplib # for Python < 2.7.9 | 24 | import httplib # for Python < 2.7.9 |
| 25 | import os | 25 | import os |
| 26 | import socket # for Python < 2.7.9 | 26 | import socket |
| 27 | import ssl | 27 | import ssl |
| 28 | import sys | 28 | import sys |
| 29 | import xmlrpclib | 29 | import 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 | |||
| 23 | import getpass | 23 | import getpass |
| 24 | import httplib # for Python < 2.7.9 | 24 | import httplib # for Python < 2.7.9 |
| 25 | import os | 25 | import os |
| 26 | import socket # for Python < 2.7.9 | 26 | import sched |
| 27 | import socket | ||
| 27 | import ssl | 28 | import ssl |
| 28 | import sys | 29 | import sys |
| 29 | import time | 30 | import 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, |
