From 3d16485c6fb92aeaa64b14a86e08e3ab661906f7 Mon Sep 17 00:00:00 2001 From: Mike McLean Date: Nov 22 2016 21:41:31 +0000 Subject: grab_session_options function --- diff --git a/cli/koji b/cli/koji index 405c4f0..f093c50 100755 --- a/cli/koji +++ b/cli/koji @@ -7171,15 +7171,8 @@ if __name__ == "__main__": else: logger.setLevel(logging.WARN) - session_opts = {} - for k in ('user', 'password', 'krbservice', 'debug_xmlrpc', 'debug', 'max_retries', - 'retry_interval', 'offline_retry', 'offline_retry_interval', - 'anon_retry', 'keepalive', 'timeout', 'use_fast_upload', - 'upload_blocksize', 'krb_rdns', 'use_old_ssl', 'serverca'): - value = getattr(options,k) - if value is not None: - session_opts[k] = value - session = koji.ClientSession(options.server,session_opts) + session_opts = koji.grab_session_options(options) + session = koji.ClientSession(options.server, session_opts) rv = 0 try: rv = locals()[command].__call__(options, session, args) diff --git a/koji/__init__.py b/koji/__init__.py index 8286b3d..9aa05cb 100644 --- a/koji/__init__.py +++ b/koji/__init__.py @@ -1906,6 +1906,38 @@ class VirtualMethod(object): return self.__func(self.__name, args, opts) +def grab_session_options(options): + '''Convert optparse options to a dict that ClientSession can handle''' + s_opts = ( + 'user', + 'password', + 'krbservice', + 'debug_xmlrpc', + 'debug', + 'max_retries', + 'retry_interval', + 'offline_retry', + 'offline_retry_interval', + 'anon_retry', + 'keepalive', + 'timeout', + 'use_fast_upload', + 'upload_blocksize', + 'krb_rdns', + 'use_old_ssl', + 'no_ssl_verify', + 'serverca', + ) + # cert is omitted for now + ret = {} + for key in s_opts: + if not hasattr(options, key): + continue + value = getattr(options, key) + if value is not None: + ret[key] = value + + class ClientSession(object): def __init__(self, baseurl, opts=None, sinfo=None): @@ -1925,6 +1957,7 @@ class ClientSession(object): self.new_session() self.opts.setdefault('timeout', 60 * 60 * 12) + def new_session(self): self.logger.debug("Opening new requests session") if self.rsession: