Revert "Bug #413983: Add portage.util.urlopen(), which transparently handles authenti...
authorZac Medico <zmedico@gentoo.org>
Mon, 14 May 2012 01:53:50 +0000 (18:53 -0700)
committerZac Medico <zmedico@gentoo.org>
Mon, 14 May 2012 01:53:50 +0000 (18:53 -0700)
This reverts commit 0a9cc38a66ded0cf0e5b534cb24b970fc9c21920. As
reported in bug #415579, that commit broke FTP authentication.

bin/repoman
pym/portage/dbapi/bintree.py
pym/portage/glsa.py
pym/portage/util/__init__.py

index 1fc9acce228559819e6d489faae8bf94fd48ae5f..36974033549c89a3f7e94a1029b6ce053aa59678 100755 (executable)
@@ -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:
index 52b85b88e13610ae27069d280cbc50b436af2eeb..4ac48c9dfc73740274f4392d60012f6d7f381c9a 100644 (file)
@@ -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"
 
index 0e590688e0e3b47076b02eb4ff8a5d0a16fe81b3..1857695746773bb308db1e6f743c074e2b8e16ba 100644 (file)
@@ -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):
index 2b50733c5393c7ac3b4542bae2e06e30e37e2926..57e8c37b72c431fd901045ae80453304b2209b9d 100644 (file)
@@ -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)