Skip to content

Commit 05894ab

Browse files
committed
More refactoring -> future.backports
1 parent 7469433 commit 05894ab

File tree

4 files changed

+33
-24
lines changed

4 files changed

+33
-24
lines changed

future/standard_library/__init__.py

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -385,9 +385,8 @@ def is_py2_stdlib_module(m):
385385
def scrub_py2_sys_modules():
386386
"""
387387
Removes any Python 2 standard library modules from ``sys.modules`` that
388-
would interfere with Py3-style imports using ``future.standard_library``
389-
import hooks. Examples are modules with the same names (like urllib
390-
or email).
388+
would interfere with Py3-style imports using import hooks. Examples are
389+
modules with the same names (like urllib or email).
391390
392391
(Note that currently import hooks are disabled for modules like these
393392
with ambiguous names anyway ...)
@@ -436,7 +435,7 @@ def scrub_future_sys_modules():
436435
437436
This function removes items matching this spec from sys.modules:
438437
key: new_py3_module_name
439-
value: either future.standard_library module or py2 module with
438+
value: either future.backports module or py2 module with
440439
another name
441440
"""
442441
scrubbed = {}
@@ -714,7 +713,7 @@ def import_(module_name, backport=False):
714713
715714
Note that this would be a SyntaxError in Python:
716715
717-
>>> from future.standard_library import http.client
716+
>>> from future.backports import http.client
718717
719718
"""
720719

@@ -725,7 +724,7 @@ def import_(module_name, backport=False):
725724
# Then http.client = client
726725
# etc.
727726
if backport:
728-
prefix = 'future.standard_library'
727+
prefix = 'future.backports'
729728
else:
730729
prefix = 'future.moves'
731730
parts = prefix.split('.') + module_name.split('.')
@@ -739,7 +738,7 @@ def import_(module_name, backport=False):
739738
break
740739
setattr(modules[i-1], part, modules[i])
741740

742-
# Return the next-most top-level module after future.standard_library:
741+
# Return the next-most top-level module after future.backports / future.moves:
743742
return modules[2]
744743

745744

@@ -767,7 +766,7 @@ def from_import(module_name, *symbol_names, **kwargs):
767766
return __import__(module_name)
768767
else:
769768
if 'backport' in kwargs and bool(kwargs['backport']):
770-
prefix = 'future.standard_library'
769+
prefix = 'future.backports'
771770
else:
772771
prefix = 'future.moves'
773772
parts = prefix.split('.') + module_name.split('.')

future/tests/test_httplib.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
from future import utils
1212
from future.tests.base import unittest, skip26
1313

14-
from future.standard_library.http import client
15-
from future.standard_library.test import support
14+
from future.backports.http import client
15+
from future.backports.test import support
1616
import array
1717
import io
1818
import socket

future/tests/test_standard_library.py

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@ def test_can_import_several(self):
3434
standard_library.remove_hooks()
3535
"""
3636

37-
import future.standard_library.urllib.parse as urllib_parse
38-
import future.standard_library.urllib.request as urllib_request
39-
from future.standard_library.test import support
37+
import future.moves.urllib.parse as urllib_parse
38+
import future.moves.urllib.request as urllib_request
39+
from future.moves.test import support
4040

4141
with standard_library.hooks():
4242
import http.server
@@ -310,13 +310,13 @@ def test_builtins(self):
310310
import builtins
311311
self.assertTrue(hasattr(builtins, 'tuple'))
312312

313-
@unittest.skip("ssl support has been stripped out for now ...")
313+
# @unittest.skip("ssl support has been stripped out for now ...")
314314
def test_urllib_request_ssl_redirect(self):
315315
"""
316316
This site redirects to https://...
317317
It therefore requires ssl support.
318318
"""
319-
import future.standard_library.urllib.request as urllib_request
319+
import future.moves.urllib.request as urllib_request
320320
from pprint import pprint
321321
URL = 'http://pypi.python.org/pypi/{0}/json'
322322
package = 'future'
@@ -328,7 +328,7 @@ def test_urllib_request_http(self):
328328
"""
329329
This site (amazon.com) uses plain http (as of 2014-04-12).
330330
"""
331-
import future.standard_library.urllib.request as urllib_request
331+
import future.moves.urllib.request as urllib_request
332332
from pprint import pprint
333333
URL = 'http://amazon.com'
334334
r = urllib_request.urlopen(URL)
@@ -352,13 +352,23 @@ def test_other_http_imports(self):
352352
import http.cookiejar
353353
self.assertTrue(True)
354354

355-
def test_urllib_imports(self):
356-
import future.standard_library.urllib
357-
import future.standard_library.urllib.parse
358-
import future.standard_library.urllib.request
359-
import future.standard_library.urllib.robotparser
360-
import future.standard_library.urllib.error
361-
import future.standard_library.urllib.response
355+
def test_urllib_imports_direct(self):
356+
import future.moves.urllib
357+
import future.moves.urllib.parse
358+
import future.moves.urllib.request
359+
import future.moves.urllib.robotparser
360+
import future.moves.urllib.error
361+
import future.moves.urllib.response
362+
self.assertTrue(True)
363+
364+
def test_urllib_imports_cm(self):
365+
with standard_library.hooks():
366+
import urllib
367+
import urllib.parse
368+
import urllib.request
369+
import urllib.robotparser
370+
import urllib.error
371+
import urllib.response
362372
self.assertTrue(True)
363373

364374
def test_underscore_prefixed_modules(self):

future/tests/test_urlparse.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from __future__ import absolute_import
1010
from future import standard_library
1111

12-
import future.standard_library.urllib.parse as urllib_parse
12+
import future.backports.urllib.parse as urllib_parse
1313
from future.tests.base import unittest
1414

1515
RFC1808_BASE = "http://a/b/c/d;p?q#f"

0 commit comments

Comments
 (0)