Commit 744a61f1 authored by Vinay Sajip's avatar Vinay Sajip

Misc. updates following 2to3 checks.

--HG--
branch : single-codebase
parent c003c86f
...@@ -40,8 +40,8 @@ source_suffix = '.txt' ...@@ -40,8 +40,8 @@ source_suffix = '.txt'
master_doc = 'index' master_doc = 'index'
# General information about the project. # General information about the project.
project = u'Setuptools' project = 'Setuptools'
copyright = u'2009-2013, The fellowship of the packaging' copyright = '2009-2013, The fellowship of the packaging'
# The version info for the project you're documenting, acts as replacement for # The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the # |version| and |release|, also used in various other places throughout the
...@@ -175,8 +175,8 @@ htmlhelp_basename = 'Setuptoolsdoc' ...@@ -175,8 +175,8 @@ htmlhelp_basename = 'Setuptoolsdoc'
# Grouping the document tree into LaTeX files. List of tuples # Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]). # (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [ latex_documents = [
('index', 'Setuptools.tex', ur'Setuptools Documentation', ('index', 'Setuptools.tex', 'Setuptools Documentation',
ur'The fellowship of the packaging', 'manual'), 'The fellowship of the packaging', 'manual'),
] ]
# The name of an image file (relative to this directory) to place at the top of # The name of an image file (relative to this directory) to place at the top of
......
...@@ -2492,7 +2492,8 @@ class Distribution(object): ...@@ -2492,7 +2492,8 @@ class Distribution(object):
self.insert_on(path) self.insert_on(path)
if path is sys.path: if path is sys.path:
fixup_namespace_packages(self.location) fixup_namespace_packages(self.location)
map(declare_namespace, self._get_metadata('namespace_packages.txt')) list(map(declare_namespace,
self._get_metadata('namespace_packages.txt')))
def egg_name(self): def egg_name(self):
......
...@@ -17,6 +17,15 @@ import collections ...@@ -17,6 +17,15 @@ import collections
import itertools import itertools
import re import re
try:
from urllib2 import urlopen, Request, HTTPError
from itertools import izip_longest
except ImportError:
from urllib.request import urlopen, Request
from urllib.error import HTTPError
raw_input = input
from itertools import zip_longest as izip_longest
try: try:
import keyring import keyring
except Exception: except Exception:
...@@ -99,11 +108,11 @@ def add_milestone_and_version(version): ...@@ -99,11 +108,11 @@ def add_milestone_and_version(version):
for type in 'milestones', 'versions': for type in 'milestones', 'versions':
url = (base + '/1.0/repositories/{repo}/issues/{type}' url = (base + '/1.0/repositories/{repo}/issues/{type}'
.format(repo = get_repo_name(), type=type)) .format(repo = get_repo_name(), type=type))
req = urllib2.Request(url = url, headers = headers, req = Request(url = url, headers = headers,
data='name='+version) data='name='+version)
try: try:
urllib2.urlopen(req) urlopen(req)
except urllib2.HTTPError as e: except HTTPError as e:
print(e.fp.read()) print(e.fp.read())
def bump_versions(target_ver): def bump_versions(target_ver):
...@@ -225,7 +234,7 @@ def _linkified_text(rst_content): ...@@ -225,7 +234,7 @@ def _linkified_text(rst_content):
anchors = [] anchors = []
linkified_parts = [_linkified_part(part, anchors) linkified_parts = [_linkified_part(part, anchors)
for part in plain_text_parts] for part in plain_text_parts]
pairs = itertools.izip_longest( pairs = izip_longest(
linkified_parts, linkified_parts,
HREF_pattern.findall(rst_content), HREF_pattern.findall(rst_content),
fillvalue='', fillvalue='',
......
[console_scripts]
easy_install = setuptools.command.easy_install:main
easy_install-3.3 = setuptools.command.easy_install:main
[distutils.setup_keywords]
namespace_packages = setuptools.dist:check_nsp
use_2to3_exclude_fixers = setuptools.dist:assert_string_list
package_data = setuptools.dist:check_package_data
use_2to3 = setuptools.dist:assert_bool
install_requires = setuptools.dist:check_requirements
entry_points = setuptools.dist:check_entry_points
convert_2to3_doctests = setuptools.dist:assert_string_list
dependency_links = setuptools.dist:assert_string_list
test_suite = setuptools.dist:check_test_suite
test_loader = setuptools.dist:check_importable
tests_require = setuptools.dist:check_requirements
packages = setuptools.dist:check_packages
use_2to3_fixers = setuptools.dist:assert_string_list
extras_require = setuptools.dist:check_extras
include_package_data = setuptools.dist:assert_bool
eager_resources = setuptools.dist:assert_string_list
exclude_package_data = setuptools.dist:check_package_data
zip_safe = setuptools.dist:assert_bool
[distutils.commands] [distutils.commands]
bdist_rpm = setuptools.command.bdist_rpm:bdist_rpm bdist_wininst = setuptools.command.bdist_wininst:bdist_wininst
rotate = setuptools.command.rotate:rotate test = setuptools.command.test:test
develop = setuptools.command.develop:develop easy_install = setuptools.command.easy_install:easy_install
install_egg_info = setuptools.command.install_egg_info:install_egg_info
upload_docs = setuptools.command.upload_docs:upload_docs
setopt = setuptools.command.setopt:setopt setopt = setuptools.command.setopt:setopt
build_py = setuptools.command.build_py:build_py install = setuptools.command.install:install
bdist_egg = setuptools.command.bdist_egg:bdist_egg
alias = setuptools.command.alias:alias
saveopts = setuptools.command.saveopts:saveopts saveopts = setuptools.command.saveopts:saveopts
egg_info = setuptools.command.egg_info:egg_info sdist = setuptools.command.sdist:sdist
rotate = setuptools.command.rotate:rotate
develop = setuptools.command.develop:develop
install_lib = setuptools.command.install_lib:install_lib
register = setuptools.command.register:register register = setuptools.command.register:register
upload_docs = setuptools.command.upload_docs:upload_docs build_py = setuptools.command.build_py:build_py
install_egg_info = setuptools.command.install_egg_info:install_egg_info
alias = setuptools.command.alias:alias
easy_install = setuptools.command.easy_install:easy_install
install_scripts = setuptools.command.install_scripts:install_scripts install_scripts = setuptools.command.install_scripts:install_scripts
bdist_wininst = setuptools.command.bdist_wininst:bdist_wininst bdist_rpm = setuptools.command.bdist_rpm:bdist_rpm
bdist_egg = setuptools.command.bdist_egg:bdist_egg egg_info = setuptools.command.egg_info:egg_info
install = setuptools.command.install:install
test = setuptools.command.test:test
install_lib = setuptools.command.install_lib:install_lib
build_ext = setuptools.command.build_ext:build_ext build_ext = setuptools.command.build_ext:build_ext
sdist = setuptools.command.sdist:sdist
[setuptools.file_finders]
svn_cvs = setuptools.command.sdist:_default_revctrl
[egg_info.writers] [egg_info.writers]
dependency_links.txt = setuptools.command.egg_info:overwrite_arg
requires.txt = setuptools.command.egg_info:write_requirements requires.txt = setuptools.command.egg_info:write_requirements
PKG-INFO = setuptools.command.egg_info:write_pkg_info
eager_resources.txt = setuptools.command.egg_info:overwrite_arg
top_level.txt = setuptools.command.egg_info:write_toplevel_names
namespace_packages.txt = setuptools.command.egg_info:overwrite_arg namespace_packages.txt = setuptools.command.egg_info:overwrite_arg
entry_points.txt = setuptools.command.egg_info:write_entries entry_points.txt = setuptools.command.egg_info:write_entries
top_level.txt = setuptools.command.egg_info:write_toplevel_names
depends.txt = setuptools.command.egg_info:warn_depends_obsolete depends.txt = setuptools.command.egg_info:warn_depends_obsolete
PKG-INFO = setuptools.command.egg_info:write_pkg_info
[console_scripts] eager_resources.txt = setuptools.command.egg_info:overwrite_arg
easy_install = setuptools.command.easy_install:main dependency_links.txt = setuptools.command.egg_info:overwrite_arg
easy_install-2.7 = setuptools.command.easy_install:main
[setuptools.file_finders]
svn_cvs = setuptools.command.sdist:_default_revctrl
[distutils.setup_keywords]
dependency_links = setuptools.dist:assert_string_list
entry_points = setuptools.dist:check_entry_points
extras_require = setuptools.dist:check_extras
use_2to3_exclude_fixers = setuptools.dist:assert_string_list
package_data = setuptools.dist:check_package_data
install_requires = setuptools.dist:check_requirements
use_2to3 = setuptools.dist:assert_bool
use_2to3_fixers = setuptools.dist:assert_string_list
include_package_data = setuptools.dist:assert_bool
exclude_package_data = setuptools.dist:check_package_data
namespace_packages = setuptools.dist:check_nsp
test_suite = setuptools.dist:check_test_suite
eager_resources = setuptools.dist:assert_string_list
zip_safe = setuptools.dist:assert_bool
test_loader = setuptools.dist:check_importable
packages = setuptools.dist:check_packages
convert_2to3_doctests = setuptools.dist:assert_string_list
tests_require = setuptools.dist:check_requirements
[setuptools.installation] [setuptools.installation]
eggsecutable = setuptools.command.easy_install:bootstrap eggsecutable = setuptools.command.easy_install:bootstrap
......
[certs]
certifi==0.0.8
[ssl:sys_platform=='win32'] [ssl:sys_platform=='win32']
wincertstore==0.1 wincertstore==0.1
[certs]
certifi==0.0.8
[ssl:python_version in '2.4, 2.5'] [ssl:python_version in '2.4, 2.5']
ssl==1.16 ssl==1.16
......
...@@ -285,6 +285,8 @@ class easy_install(Command): ...@@ -285,6 +285,8 @@ class easy_install(Command):
self.script_dir = self.install_scripts self.script_dir = self.install_scripts
# default --record from the install command # default --record from the install command
self.set_undefined_options('install', ('record', 'record')) self.set_undefined_options('install', ('record', 'record'))
# Should this be moved to the if statement below? It's not used
# elsewhere
normpath = map(normalize_path, sys.path) normpath = map(normalize_path, sys.path)
self.all_site_dirs = get_site_dirs() self.all_site_dirs = get_site_dirs()
if self.site_dirs is not None: if self.site_dirs is not None:
......
...@@ -235,8 +235,8 @@ class egg_info(Command): ...@@ -235,8 +235,8 @@ class egg_info(Command):
log.warn("unrecognized .svn/entries format; skipping %s", base) log.warn("unrecognized .svn/entries format; skipping %s", base)
dirs[:] = [] dirs[:] = []
continue continue
data = map(str.splitlines,data.split('\n\x0c\n')) data = list(map(str.splitlines,data.split('\n\x0c\n')))
del data[0][0] # get rid of the '8' or '9' or '10' del data[0][0] # get rid of the '8' or '9' or '10'
dirurl = data[0][3] dirurl = data[0][3]
localrev = max([int(d[9]) for d in data if len(d)>9 and d[9]]+[0]) localrev = max([int(d[9]) for d in data if len(d)>9 and d[9]]+[0])
......
...@@ -154,7 +154,7 @@ class test(Command): ...@@ -154,7 +154,7 @@ class test(Command):
for name in sys.modules: for name in sys.modules:
if name.startswith(module): if name.startswith(module):
del_modules.append(name) del_modules.append(name)
map(sys.modules.__delitem__, del_modules) list(map(sys.modules.__delitem__, del_modules))
loader_ep = EntryPoint.parse("x="+self.test_loader) loader_ep = EntryPoint.parse("x="+self.test_loader)
loader_class = loader_ep.load(require=False) loader_class = loader_ep.load(require=False)
......
...@@ -11,6 +11,7 @@ try: ...@@ -11,6 +11,7 @@ try:
except ImportError: except ImportError:
from md5 import md5 from md5 import md5
import os import os
import sys
import socket import socket
import platform import platform
import base64 import base64
...@@ -167,7 +168,8 @@ class upload(Command): ...@@ -167,7 +168,8 @@ class upload(Command):
http.putheader('Authorization', auth) http.putheader('Authorization', auth)
http.endheaders() http.endheaders()
http.send(body) http.send(body)
except socket.error, e: except socket.error:
e = sys.exc_info()[1]
self.announce(str(e), log.ERROR) self.announce(str(e), log.ERROR)
return return
......
...@@ -23,7 +23,7 @@ try: ...@@ -23,7 +23,7 @@ try:
except ImportError: except ImportError:
from setuptools.command.upload import upload from setuptools.command.upload import upload
from setuptools.compat import httplib, urlparse from setuptools.compat import httplib, urlparse, unicode, iteritems
if sys.version_info >= (3,): if sys.version_info >= (3,):
errors = 'surrogateescape' errors = 'surrogateescape'
...@@ -131,7 +131,7 @@ class upload_docs(upload): ...@@ -131,7 +131,7 @@ class upload_docs(upload):
sep_boundary = b('\n--') + b(boundary) sep_boundary = b('\n--') + b(boundary)
end_boundary = sep_boundary + b('--') end_boundary = sep_boundary + b('--')
body = [] body = []
for key, values in data.iteritems(): for key, values in iteritems(data):
title = '\nContent-Disposition: form-data; name="%s"' % key title = '\nContent-Disposition: form-data; name="%s"' % key
# handle multiple entries for the same name # handle multiple entries for the same name
if type(values) != type([]): if type(values) != type([]):
......
...@@ -35,7 +35,7 @@ class Extension(_Extension): ...@@ -35,7 +35,7 @@ class Extension(_Extension):
if source.endswith('.pyx'): if source.endswith('.pyx'):
source = source[:-4] + '.c' source = source[:-4] + '.c'
return source return source
self.sources = map(pyx_to_c, self.sources) self.sources = list(map(pyx_to_c, self.sources))
class Library(Extension): class Library(Extension):
"""Just like a regular Extension, but built as a library instead""" """Just like a regular Extension, but built as a library instead"""
......
...@@ -177,7 +177,7 @@ def find_external_links(url, page): ...@@ -177,7 +177,7 @@ def find_external_links(url, page):
for match in REL.finditer(page): for match in REL.finditer(page):
tag, rel = match.groups() tag, rel = match.groups()
rels = map(str.strip, rel.lower().split(',')) rels = set(map(str.strip, rel.lower().split(',')))
if 'homepage' in rels or 'download' in rels: if 'homepage' in rels or 'download' in rels:
for match in HREF.finditer(tag): for match in HREF.finditer(tag):
yield urljoin(url, htmldecode(match.group(1))) yield urljoin(url, htmldecode(match.group(1)))
...@@ -749,7 +749,7 @@ class PackageIndex(Environment): ...@@ -749,7 +749,7 @@ class PackageIndex(Environment):
scheme, netloc, path, p, q, f = urlparse(url) scheme, netloc, path, p, q, f = urlparse(url)
if not netloc and path.startswith('//') and '/' in path[2:]: if not netloc and path.startswith('//') and '/' in path[2:]:
netloc, path = path[2:].split('/',1) netloc, path = path[2:].split('/',1)
auth, host = urllib.splituser(netloc) auth, host = splituser(netloc)
if auth: if auth:
if ':' in auth: if ':' in auth:
user, pw = auth.split(':',1) user, pw = auth.split(':',1)
......
...@@ -85,7 +85,7 @@ def run_setup(setup_script, args): ...@@ -85,7 +85,7 @@ def run_setup(setup_script, args):
# exclude any encodings modules. See #285 # exclude any encodings modules. See #285
and not mod_name.startswith('encodings.') and not mod_name.startswith('encodings.')
] ]
map(sys.modules.__delitem__, del_modules) list(map(sys.modules.__delitem__, del_modules))
os.chdir(old_dir) os.chdir(old_dir)
sys.path[:] = save_path sys.path[:] = save_path
sys.argv[:] = save_argv sys.argv[:] = save_argv
......
...@@ -3,4 +3,7 @@ __requires__ = """%(spec)r""" ...@@ -3,4 +3,7 @@ __requires__ = """%(spec)r"""
from pkg_resources import require; require("""%(spec)r""") from pkg_resources import require; require("""%(spec)r""")
del require del require
__file__ = """%(dev_path)r""" __file__ = """%(dev_path)r"""
execfile(__file__) try:
execfile(__file__)
except NameError:
exec(compile(open(__file__).read(), __file__, 'exec'))
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
import sys import sys
import os import os
import unittest import unittest
import doctest from setuptools.tests import doctest
import distutils.core import distutils.core
import distutils.cmd import distutils.cmd
from distutils.errors import DistutilsOptionError, DistutilsPlatformError from distutils.errors import DistutilsOptionError, DistutilsPlatformError
......
...@@ -27,7 +27,10 @@ class TestSetup(unittest.TestCase): ...@@ -27,7 +27,10 @@ class TestSetup(unittest.TestCase):
"--dist-dir", "%s" % self.tmpdir) "--dist-dir", "%s" % self.tmpdir)
tarball = os.listdir(self.tmpdir)[0] tarball = os.listdir(self.tmpdir)[0]
self.tarball = os.path.join(self.tmpdir, tarball) self.tarball = os.path.join(self.tmpdir, tarball)
import urllib2 try:
import urllib2
except ImportError:
import urllib.request as urllib2
urllib2.urlopen = self.urlopen urllib2.urlopen = self.urlopen
def tearDown(self): def tearDown(self):
......
...@@ -5,57 +5,62 @@ import zipfile ...@@ -5,57 +5,62 @@ import zipfile
import pkg_resources import pkg_resources
try:
unicode
except NameError:
unicode = str
class EggRemover(unicode): class EggRemover(unicode):
def __call__(self): def __call__(self):
if self in sys.path: if self in sys.path:
sys.path.remove(self) sys.path.remove(self)
if os.path.exists(self): if os.path.exists(self):
os.remove(self) os.remove(self)
class TestZipProvider(object): class TestZipProvider(object):
finalizers = [] finalizers = []
@classmethod @classmethod
def setup_class(cls): def setup_class(cls):
"create a zip egg and add it to sys.path" "create a zip egg and add it to sys.path"
egg = tempfile.NamedTemporaryFile(suffix='.egg', delete=False) egg = tempfile.NamedTemporaryFile(suffix='.egg', delete=False)
zip_egg = zipfile.ZipFile(egg, 'w') zip_egg = zipfile.ZipFile(egg, 'w')
zip_info = zipfile.ZipInfo() zip_info = zipfile.ZipInfo()
zip_info.filename = 'mod.py' zip_info.filename = 'mod.py'
zip_info.date_time = 2013, 5, 12, 13, 25, 0 zip_info.date_time = 2013, 5, 12, 13, 25, 0
zip_egg.writestr(zip_info, 'x = 3\n') zip_egg.writestr(zip_info, 'x = 3\n')
zip_info = zipfile.ZipInfo() zip_info = zipfile.ZipInfo()
zip_info.filename = 'data.dat' zip_info.filename = 'data.dat'
zip_info.date_time = 2013, 5, 12, 13, 25, 0 zip_info.date_time = 2013, 5, 12, 13, 25, 0
zip_egg.writestr(zip_info, 'hello, world!') zip_egg.writestr(zip_info, 'hello, world!')
zip_egg.close() zip_egg.close()
egg.close() egg.close()
sys.path.append(egg.name) sys.path.append(egg.name)
cls.finalizers.append(EggRemover(egg.name)) cls.finalizers.append(EggRemover(egg.name))
@classmethod @classmethod
def teardown_class(cls): def teardown_class(cls):
for finalizer in cls.finalizers: for finalizer in cls.finalizers:
finalizer() finalizer()
def test_resource_filename_rewrites_on_change(self): def test_resource_filename_rewrites_on_change(self):
""" """
If a previous call to get_resource_filename has saved the file, but If a previous call to get_resource_filename has saved the file, but
the file has been subsequently mutated with different file of the the file has been subsequently mutated with different file of the
same size and modification time, it should not be overwritten on a same size and modification time, it should not be overwritten on a
subsequent call to get_resource_filename. subsequent call to get_resource_filename.
""" """
import mod import mod
manager = pkg_resources.ResourceManager() manager = pkg_resources.ResourceManager()
zp = pkg_resources.ZipProvider(mod) zp = pkg_resources.ZipProvider(mod)
filename = zp.get_resource_filename(manager, 'data.dat') filename = zp.get_resource_filename(manager, 'data.dat')
assert os.stat(filename).st_mtime == 1368379500 assert os.stat(filename).st_mtime == 1368379500
f = open(filename, 'wb') f = open(filename, 'wb')
f.write('hello, world?') f.write('hello, world?')
f.close() f.close()
os.utime(filename, (1368379500, 1368379500)) os.utime(filename, (1368379500, 1368379500))
filename = zp.get_resource_filename(manager, 'data.dat') filename = zp.get_resource_filename(manager, 'data.dat')
f = open(filename) f = open(filename)
assert f.read() == 'hello, world!' assert f.read() == 'hello, world!'
manager.cleanup_resources() manager.cleanup_resources()
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment