summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-12-31 03:27:03 -0800
committerZac Medico <zmedico@gentoo.org>2010-12-31 12:18:52 -0800
commitd5fe1fff5250f8b2bffae3faf6482a73626eaee7 (patch)
treea6e44f5fa260d7322ff870fb49df78fc16deb6fb
parentbintree: add timeout for closing binhost conn (diff)
downloadportage-d5fe1fff5250f8b2bffae3faf6482a73626eaee7.tar.gz
portage-d5fe1fff5250f8b2bffae3faf6482a73626eaee7.tar.bz2
portage-d5fe1fff5250f8b2bffae3faf6482a73626eaee7.zip
Omit user:pass@ from binhost Packages cache path.
-rw-r--r--pym/portage/dbapi/bintree.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/pym/portage/dbapi/bintree.py b/pym/portage/dbapi/bintree.py
index 55118a285..f67480378 100644
--- a/pym/portage/dbapi/bintree.py
+++ b/pym/portage/dbapi/bintree.py
@@ -733,6 +733,14 @@ class binarytree(object):
parsed_url = urlparse(base_url)
host = parsed_url.netloc
port = parsed_url.port
+ user = None
+ passwd = None
+ user_passwd = ""
+ if "@" in host:
+ user, host = host.split("@", 1)
+ user_passwd = user + "@"
+ if ":" in user:
+ user, passwd = user.split(":", 1)
port_args = []
if port is not None:
port_str = ":%s" % (port,)
@@ -775,7 +783,7 @@ class binarytree(object):
if port is not None:
port_args = ['-P', "%s" % (port,)]
proc = subprocess.Popen(['sftp'] + port_args + \
- [host + ":" + path, tmp_filename])
+ [user_passwd + host + ":" + path, tmp_filename])
if proc.wait() != os.EX_OK:
raise
f = open(tmp_filename, 'rb')
@@ -783,7 +791,8 @@ class binarytree(object):
if port is not None:
port_args = ['-p', "%s" % (port,)]
proc = subprocess.Popen(['ssh'] + port_args + \
- [host, '--', 'cat', path], stdout=subprocess.PIPE)
+ [user_passwd + host, '--', 'cat', path],
+ stdout=subprocess.PIPE)
f = proc.stdout
else:
raise