summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2012-05-13 18:53:50 -0700
committerZac Medico <zmedico@gentoo.org>2012-05-13 18:53:50 -0700
commit58a8cd1bb943522bc53d02c008ee8eff798bfaaa (patch)
treeef6d8eb9809447d3814f7f48e2cb77cd18b4c9d7
parenteb1f9aefed672307caa5fc1286f9a35bed3ea9f4 (diff)
downloadportage-58a8cd1bb943522bc53d02c008ee8eff798bfaaa.tar.gz
portage-58a8cd1bb943522bc53d02c008ee8eff798bfaaa.tar.bz2
portage-58a8cd1bb943522bc53d02c008ee8eff798bfaaa.zip
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.
-rwxr-xr-xbin/repoman9
-rw-r--r--pym/portage/dbapi/bintree.py5
-rw-r--r--pym/portage/glsa.py8
-rw-r--r--pym/portage/util/__init__.py19
4 files changed, 16 insertions, 25 deletions
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)