fix InvalidURL issue
Embedding 'username:password@' in url could cause url parsing to fail
while password containing special characters like '/'.
Use urllib.quote for escaping special characters.
diff --git a/subcmds/sync.py b/subcmds/sync.py
index 674569c..7bbbe44 100644
--- a/subcmds/sync.py
+++ b/subcmds/sync.py
@@ -26,6 +26,8 @@
import tempfile
import time
+from urllib import quote as url_quote
+
from pyversion import is_python3
if is_python3():
import http.cookiejar as cookielib
@@ -592,7 +594,7 @@
if (username and password):
manifest_server = manifest_server.replace('://', '://%s:%s@' %
- (username, password),
+ (username, url_quote(password, safe='')),
1)
transport = PersistentTransport(manifest_server)