diff --git a/mercurial_keyring.py b/mercurial_keyring.py --- a/mercurial_keyring.py +++ b/mercurial_keyring.py @@ -303,9 +303,13 @@ class HTTPPasswordHandler(object): return url_user, url_passwd, self.SRC_URL, base_url # Extract data from urllib (in case it was already stored) - urllib_user, urllib_pwd \ - = urllib2.HTTPPasswordMgrWithDefaultRealm.find_user_password( - pwmgr, realm, authuri) + if isinstance(pwmgr, urllib2.HTTPPasswordMgrWithDefaultRealm): + urllib_user, urllib_pwd = \ + urllib2.HTTPPasswordMgrWithDefaultRealm.find_user_password( + pwmgr, realm, authuri) + else: + urllib_user, urllib_pwd = pwmgr.passwddb.find_user_password( + realm, authuri) if urllib_user and urllib_pwd: return urllib_user, urllib_pwd, self.SRC_URLCACHE, base_url