# HG changeset patch # User Pulkit Goyal <7895pulkit@gmail.com> # Date 1460840373 -19800 # Node ID bacca31f4835a6ef14bdbd83337ec9ce9aa93556 # Parent 4f86c3bed63b7a7df61824ed9dc886ac17a37636 py3: make factotum use absolute_import check-code complains for using urllib2 so that too was fixed. diff -r 4f86c3bed63b -r bacca31f4835 hgext/factotum.py --- a/hgext/factotum.py Sun Apr 17 02:15:05 2016 +0530 +++ b/hgext/factotum.py Sun Apr 17 02:29:33 2016 +0530 @@ -45,10 +45,19 @@ ''' +from __future__ import absolute_import + +import os from mercurial.i18n import _ -from mercurial.url import passwordmgr -from mercurial import httpconnection, error -import os, urllib2 +from mercurial import ( + error, + httpconnection, + url, + util, +) + +urlreq = util.urlreq +passwordmgr = url.passwordmgr ERRMAX = 128 @@ -93,7 +102,7 @@ @monkeypatch_method(passwordmgr) def find_user_password(self, realm, authuri): - user, passwd = urllib2.HTTPPasswordMgrWithDefaultRealm.find_user_password( + user, passwd = urlreq.httppasswordmgrwithdefaultrealm.find_user_password( self, realm, authuri) if user and passwd: self._writedebug(user, passwd) diff -r 4f86c3bed63b -r bacca31f4835 tests/test-check-py3-compat.t --- a/tests/test-check-py3-compat.t Sun Apr 17 02:15:05 2016 +0530 +++ b/tests/test-check-py3-compat.t Sun Apr 17 02:29:33 2016 +0530 @@ -3,7 +3,6 @@ $ cd "$TESTDIR"/.. $ hg files 'set:(**.py)' | sed 's|\\|/|g' | xargs python contrib/check-py3-compat.py - hgext/factotum.py not using absolute_import hgext/fetch.py not using absolute_import hgext/fsmonitor/pywatchman/__init__.py not using absolute_import hgext/fsmonitor/pywatchman/__init__.py requires print_function @@ -72,7 +71,7 @@ hgext/convert/transport.py: error importing module: No module named 'svn.client' (line *) (glob) hgext/eol.py: error importing: 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob) hgext/extdiff.py: error importing module: invalid syntax (archival.py, line *) (line *) (glob) - hgext/factotum.py: error importing: No module named 'httplib' (error at url.py:*) (glob) + hgext/factotum.py: error importing: No module named 'httplib' (error at __init__.py:*) (glob) hgext/fetch.py: error importing module: invalid syntax (commands.py, line *) (line *) (glob) hgext/fsmonitor/watchmanclient.py: error importing module: Parent module 'hgext.fsmonitor' not loaded, cannot perform relative import (line *) (glob) hgext/gpg.py: error importing module: invalid syntax (commands.py, line *) (line *) (glob)