summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Brown <ben.brown@codethink.co.uk>2017-04-10 13:59:12 +0100
committerBen Brown <ben.brown@codethink.co.uk>2017-04-25 10:57:02 +0100
commitc6e4a15e24c68c5b78965e9c7b64cdd5564a5dbe (patch)
tree356c623dc4b507c49619dc7ab25512a69e7381d9
parent68f204a8197c32f84238cc470918f951e6c574ef (diff)
downloadybd-c6e4a15e24c68c5b78965e9c7b64cdd5564a5dbe.tar.gz
Fix auth-less fetching
Passing in user/pass as empty strings caused wget to return non-zero.
-rw-r--r--ybd/repos.py15
1 files changed, 7 insertions, 8 deletions
diff --git a/ybd/repos.py b/ybd/repos.py
index 91c590c..1ea1781 100644
--- a/ybd/repos.py
+++ b/ybd/repos.py
@@ -332,18 +332,17 @@ def get_binary(dn):
with app.chdir(dn['checkout']), open(os.devnull, "w") as fnull:
url = dn['url']
+ filename = os.path.basename(url)
+ outdoc = '--output-document=' + os.path.join(os.getcwd(), filename)
+ args = ['wget', url, outdoc]
+
username = dn.get('auth-username') or app.config.get('auth-username')
password = dn.get('auth-password') or app.config.get('auth-password')
if username and password:
- username = '--user=' + username
- password = '--password=' + password
- else:
- username = password = ''
+ args.append('--user=' + username)
+ args.append('--password=' + password)
- filename = os.path.basename(url)
- outdoc = '--output-document=' + os.path.join(os.getcwd(), filename)
- if call(['wget', password, username, url, outdoc],
- stdout=fnull, stderr=fnull):
+ if call(args, stdout=fnull, stderr=fnull):
app.log(dn, 'running wget on url:', url, exit=True)
app.log(dn, 'Downloaded', os.path.join(os.getcwd(), filename))