From b2ccfda61b7b7a1b37d4f9ffed57fcc4585d9ce0 Mon Sep 17 00:00:00 2001 From: Simeon Simeonov Date: Thu, 16 Apr 2015 13:41:29 +0200 Subject: Add support for socket timeout. PEP8 fixes --- beinc_generic_client.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'beinc_generic_client.py') 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 import getpass import httplib # for Python < 2.7.9 import os -import socket # for Python < 2.7.9 +import socket import ssl import sys import xmlrpclib @@ -147,6 +147,9 @@ def action_execute(args): except ssl.SSLError as e: sys.stderr.write('BEINC SSL/TLS error: {0}\n'.format(e)) sys.exit(errno.EPERM) + except socket.error as e: + sys.stderr.write('BEINC connection error: {0}\n'.format(e)) + sys.exit(errno.EPERM) except Exception as e: sys.stderr.write('BEINC generic client error: {0}\n'.format(e)) sys.exit(errno.EPERM) @@ -233,6 +236,13 @@ def main(): dest='ssl_version', default='auto', help='Use SSL version: "auto" (default), "SSLv3", "TLSv1"') + parser.add_argument( + '-T', '--socket-timeout', + metavar='SECONDS', + type=int, + dest='socket_timeout', + default=3, + help='Socket timeout in seconds (0=Python default) (default: 3)') parser.add_argument( '-t', '--title', metavar='TITLE', @@ -262,6 +272,8 @@ def main(): except Exception as e: sys.stderr.write('Unable to open password file: {0}'.format(e)) sys.exit(1) + if args.socket_timeout: + socket.setdefaulttimeout(args.socket_timeout) action_execute(args) sys.exit(0) -- cgit v1.3