From 5251f7e3c9b370b0d8932e3a7798235f935b6649 Mon Sep 17 00:00:00 2001 From: Mike Bonnet Date: Thu, 29 Mar 2007 12:32:29 -0400 Subject: [PATCH 1/2] - default to a larger block size in uploadWrapper(), but make it overrideable - use a lower blocksize when uploading from the cli, for better interactivity --- cli/koji | 6 +++--- koji/__init__.py | 3 +-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/cli/koji b/cli/koji index 6be8e9ca..7095858b 100755 --- a/cli/koji +++ b/cli/koji @@ -584,7 +584,7 @@ def handle_build(options, session, args): callback = None else: callback = _progress_callback - session.uploadWrapper(source, serverdir, callback=callback) + session.uploadWrapper(source, serverdir, callback=callback, blocksize=65536) print source = "%s/%s" % (serverdir, os.path.basename(source)) task_id = session.build(source, target, opts, priority=priority) @@ -662,7 +662,7 @@ def handle_chain_build(options, session, args): print os.path.basename(source) #uploadWrapper wants the destination dir dest = os.path.dirname(dest) - session.uploadWrapper(source, dest, callback=callback) + session.uploadWrapper(source, dest, callback=callback, blocksize=65536) print task_id = session.chainBuild(src_list, target, priority=priority) @@ -877,7 +877,7 @@ def handle_import(options, session, args): else: print _("uploading %s...") % path, sys.stdout.flush() - session.uploadWrapper(path, serverdir) + session.uploadWrapper(path, serverdir, blocksize=65536) print _("done") sys.stdout.flush() print _("importing %s...") % path, diff --git a/koji/__init__.py b/koji/__init__.py index dd209177..d712e3a6 100644 --- a/koji/__init__.py +++ b/koji/__init__.py @@ -1337,11 +1337,10 @@ class ClientSession(object): # raise AttributeError, "no attribute %r" % name return VirtualMethod(self._callMethod,name) - def uploadWrapper(self, localfile, path, name=None, callback=None): + def uploadWrapper(self, localfile, path, name=None, callback=None, blocksize=262144): """upload a file in chunks using the uploadFile call""" # XXX - stick in a config or something start=time.time() - blocksize=65536 retries=3 if name is None: name = os.path.basename(localfile) From 05678399aa5e6eb866dc4b8b67b55f473160c6fd Mon Sep 17 00:00:00 2001 From: Mike Bonnet Date: Thu, 29 Mar 2007 12:37:49 -0400 Subject: [PATCH 2/2] turn off debug messages unless we're debugging --- hub/kojixmlrpc.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/hub/kojixmlrpc.py b/hub/kojixmlrpc.py index 81c50a13..aadff893 100644 --- a/hub/kojixmlrpc.py +++ b/hub/kojixmlrpc.py @@ -116,9 +116,11 @@ class ModXMLRPCRequestHandler(object): sys.stderr.write('\n') response = dumps(Fault(faultCode, faultString)) - sys.stderr.write("Returning %d bytes after %f seconds\n" % - (len(response),time.time() - start)) - sys.stderr.flush() + if context.opts.get('KojiDebug', 'no').lower() in ('yes', 'on', 'true', '1'): + sys.stderr.write("Returning %d bytes after %f seconds\n" % + (len(response),time.time() - start)) + sys.stderr.flush() + return response def _dispatch(self,method,params):