From: Zac Medico Date: Mon, 14 May 2012 01:53:50 +0000 (-0700) Subject: Revert "Bug #413983: Add portage.util.urlopen(), which transparently handles authenti... X-Git-Tag: v2.2.0_alpha105~18 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=58a8cd1bb943522bc53d02c008ee8eff798bfaaa;p=portage.git Revert "Bug #413983: Add portage.util.urlopen(), which transparently handles authentication in the way compatible with Python 3." This reverts commit 0a9cc38a66ded0cf0e5b534cb24b970fc9c21920. As reported in bug #415579, that commit broke FTP authentication. --- diff --git a/bin/repoman b/bin/repoman index 1fc9acce2..369740335 100755 --- a/bin/repoman +++ b/bin/repoman @@ -25,6 +25,11 @@ import textwrap import time import platform +try: + from urllib.request import urlopen as urllib_request_urlopen +except ImportError: + from urllib import urlopen as urllib_request_urlopen + from itertools import chain from stat import S_ISDIR @@ -70,7 +75,7 @@ from portage.process import find_binary, spawn from portage.output import bold, create_color_func, \ green, nocolor, red from portage.output import ConsoleStyleFile, StyleWriter -from portage.util import cmp_sort_key, urlopen, writemsg_level +from portage.util import writemsg_level from portage.util._desktop_entry import validate_desktop_entry from portage.package.ebuild.digestgen import digestgen from portage.eapi import eapi_has_iuse_defaults, eapi_has_required_use @@ -1046,7 +1051,7 @@ def fetch_metadata_dtd(): "needs to be refetched, doing that now") print() try: - url_f = urlopen(metadata_dtd_uri) + url_f = urllib_request_urlopen(metadata_dtd_uri) msg_info = url_f.info() last_modified = msg_info.get('last-modified') if last_modified is not None: diff --git a/pym/portage/dbapi/bintree.py b/pym/portage/dbapi/bintree.py index 52b85b88e..4ac48c9df 100644 --- a/pym/portage/dbapi/bintree.py +++ b/pym/portage/dbapi/bintree.py @@ -26,7 +26,6 @@ from portage.dep import Atom, use_reduce, paren_enclose from portage.exception import AlarmSignal, InvalidPackageName, \ PermissionDenied, PortageException from portage.localization import _ -from portage.util import urlopen from portage import _movefile from portage import os from portage import _encodings @@ -46,8 +45,10 @@ import warnings from itertools import chain try: from urllib.parse import urlparse + from urllib.request import urlopen as urllib_request_urlopen except ImportError: from urlparse import urlparse + from urllib import urlopen as urllib_request_urlopen if sys.hexversion >= 0x3000000: basestring = str @@ -844,7 +845,7 @@ class binarytree(object): # slash, so join manually... url = base_url.rstrip("/") + "/Packages" try: - f = urlopen(url) + f = urllib_request_urlopen(url) except IOError: path = parsed_url.path.rstrip("/") + "/Packages" diff --git a/pym/portage/glsa.py b/pym/portage/glsa.py index 0e590688e..185769574 100644 --- a/pym/portage/glsa.py +++ b/pym/portage/glsa.py @@ -5,6 +5,10 @@ from __future__ import absolute_import import io import sys +try: + from urllib.request import urlopen as urllib_request_urlopen +except ImportError: + from urllib import urlopen as urllib_request_urlopen import re import xml.dom.minidom @@ -14,7 +18,7 @@ from portage import _encodings from portage import _unicode_decode from portage import _unicode_encode from portage.versions import pkgsplit, vercmp, best -from portage.util import grabfile, urlopen +from portage.util import grabfile from portage.const import CACHE_PATH from portage.localization import _ from portage.dep import _slot_separator @@ -469,7 +473,7 @@ class Glsa: myurl = "file://"+self.nr else: myurl = repository + "glsa-%s.xml" % str(self.nr) - self.parse(urlopen(myurl)) + self.parse(urllib_request_urlopen(myurl)) return None def parse(self, myfile): diff --git a/pym/portage/util/__init__.py b/pym/portage/util/__init__.py index 2b50733c5..57e8c37b7 100644 --- a/pym/portage/util/__init__.py +++ b/pym/portage/util/__init__.py @@ -26,14 +26,6 @@ import string import sys import traceback import glob -try: - import urllib.parse as urllib_parse - import urllib.request as urllib_request - from urllib.parse import splituser as urllib_parse_splituser -except ImportError: - import urlparse as urllib_parse - import urllib2 as urllib_request - from urllib import splituser as urllib_parse_splituser import portage portage.proxy.lazyimport.lazyimport(globals(), @@ -1648,14 +1640,3 @@ def getlibpaths(root, env=None): rval.append("/lib") return [normalize_path(x) for x in rval if x] - -def urlopen(url): - parse_result = urllib_parse.urlparse(url) - netloc = urllib_parse_splituser(parse_result.netloc)[1] - url = urllib_parse.urlunparse((parse_result.scheme, netloc, parse_result.path, parse_result.params, parse_result.query, parse_result.fragment)) - password_manager = urllib_request.HTTPPasswordMgrWithDefaultRealm() - if parse_result.username is not None: - password_manager.add_password(None, url, parse_result.username, parse_result.password) - auth_handler = urllib_request.HTTPBasicAuthHandler(password_manager) - opener = urllib_request.build_opener(auth_handler) - return opener.open(url)