commit python3-setuptools for openSUSE:Factory
Hello community, here is the log from the commit of package python3-setuptools for openSUSE:Factory checked in at 2016-06-29 15:09:03 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python3-setuptools (Old) and /work/SRC/openSUSE:Factory/.python3-setuptools.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "python3-setuptools" Changes: -------- --- /work/SRC/openSUSE:Factory/python3-setuptools/python3-setuptools.changes 2016-06-03 16:34:17.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.python3-setuptools.new/python3-setuptools.changes 2016-06-29 15:09:05.000000000 +0200 @@ -1,0 +2,44 @@ +Fri Jun 24 16:38:56 UTC 2016 - arun@gmx.de + +- update to version 23.1.0: + * #619: Deprecated tag_svn_revision distribution option. + +------------------------------------------------------------------- +Sat Jun 18 15:08:45 UTC 2016 - arun@gmx.de + +- update to version 23.0.0: + * #611: Removed ARM executables for CLI and GUI script launchers on + Windows. If this was a feature you cared about, please comment in + the ticket. + * #604: Removed docs building support. The project now relies on + documentation hosted at https://setuptools.readthedocs.io/. + +- changes from version 22.0.5: + * #604: Restore repository for upload_docs command to restore + publishing of docs during release. + +- changes from version 22.0.4: + * #589: Upload releases to pypi.io using the upload hostname and + legacy path. + +- changes from version 22.0.3: + * #589: Releases are now uploaded to pypi.io (Warehouse) even when + releases are made on Twine via Travis. + +- changes from version 22.0.2: + * #589: Releases are now uploaded to pypi.io (Warehouse). + +- changes from version 22.0.1: + * #190: On Python 2, if unicode is passed for packages to build_py + command, it will be handled just as with text on Python 3. + +- changes from version 22.0.0: + * Intended to be v21.3.0, but jaraco accidentally released as a + major bump. + * #598: Setuptools now lists itself first in the User-Agent for web + requests, better following the guidelines in RFC 7231. + +- changes from version 21.2.2: + * Minor fixes to changelog and docs. + +------------------------------------------------------------------- Old: ---- setuptools-21.2.1.tar.gz New: ---- setuptools-23.1.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python3-setuptools.spec ++++++ --- /var/tmp/diff_new_pack.6Eokw4/_old 2016-06-29 15:09:06.000000000 +0200 +++ /var/tmp/diff_new_pack.6Eokw4/_new 2016-06-29 15:09:06.000000000 +0200 @@ -17,7 +17,7 @@ Name: python3-setuptools -Version: 21.2.1 +Version: 23.1.0 Release: 0 Url: http://pypi.python.org/pypi/setuptools Summary: Easily download, build, install, upgrade, and uninstall Python packages ++++++ setuptools-21.2.1.tar.gz -> setuptools-23.1.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-21.2.1/CHANGES.rst new/setuptools-23.1.0/CHANGES.rst --- old/setuptools-21.2.1/CHANGES.rst 2016-05-22 22:12:04.000000000 +0200 +++ new/setuptools-23.1.0/CHANGES.rst 2016-06-24 16:22:31.000000000 +0200 @@ -2,6 +2,68 @@ CHANGES ======= +v23.1.0 +------- + +* #619: Deprecated ``tag_svn_revision`` distribution + option. + +v23.0.0 +------- + +* #611: Removed ARM executables for CLI and GUI script + launchers on Windows. If this was a feature you cared + about, please comment in the ticket. +* #604: Removed docs building support. The project + now relies on documentation hosted at + https://setuptools.readthedocs.io/. + +v22.0.5 +------- + +* #604: Restore repository for upload_docs command + to restore publishing of docs during release. + +v22.0.4 +------- + +* #589: Upload releases to pypi.io using the upload + hostname and legacy path. + +v22.0.3 +------- + +* #589: Releases are now uploaded to pypi.io (Warehouse) + even when releases are made on Twine via Travis. + +v22.0.2 +------- + +* #589: Releases are now uploaded to pypi.io (Warehouse). + +v22.0.1 +------- + +* #190: On Python 2, if unicode is passed for packages to + ``build_py`` command, it will be handled just as with + text on Python 3. + +v22.0.0 +------- + +Intended to be v21.3.0, but jaraco accidentally released as +a major bump. + +* #598: Setuptools now lists itself first in the User-Agent + for web requests, better following the guidelines in + `RFC 7231 + <https://tools.ietf.org/html/rfc7231#section-5.5.3>`_. + +v21.2.2 +------- + +* Minor fixes to changelog and docs. + v21.2.1 ------- @@ -109,7 +171,7 @@ 20.5 ---- -* BB Pull Request #185: Add support for environment markers +* BB Pull Request #185, #470: Add support for environment markers in requirements in install_requires, setup_requires, tests_require as well as adding a test for the existing extra_requires machinery. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-21.2.1/PKG-INFO new/setuptools-23.1.0/PKG-INFO --- old/setuptools-21.2.1/PKG-INFO 2016-05-22 22:14:31.000000000 +0200 +++ new/setuptools-23.1.0/PKG-INFO 2016-06-24 16:22:50.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: setuptools -Version: 21.2.1 +Version: 23.1.0 Summary: Easily download, build, install, upgrade, and uninstall Python packages Home-page: https://github.com/pypa/setuptools Author: Python Packaging Authority @@ -13,7 +13,8 @@ .. contents:: **Table of Contents** - `Change History <https://pythonhosted.org/setuptools/history.html>`_. + .. image:: https://setuptools.readthedocs.io/en/latest/?badge=latest + :target: https://setuptools.readthedocs.io ------------------------- Installation Instructions diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-21.2.1/README.rst new/setuptools-23.1.0/README.rst --- old/setuptools-21.2.1/README.rst 2016-05-22 22:12:04.000000000 +0200 +++ new/setuptools-23.1.0/README.rst 2016-06-24 16:22:31.000000000 +0200 @@ -5,7 +5,8 @@ .. contents:: **Table of Contents** -`Change History <https://pythonhosted.org/setuptools/history.html>`_. +.. image:: https://setuptools.readthedocs.io/en/latest/?badge=latest + :target: https://setuptools.readthedocs.io ------------------------- Installation Instructions diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-21.2.1/docs/conf.py new/setuptools-23.1.0/docs/conf.py --- old/setuptools-21.2.1/docs/conf.py 2016-05-22 22:12:04.000000000 +0200 +++ new/setuptools-23.1.0/docs/conf.py 2016-06-24 16:22:31.000000000 +0200 @@ -200,7 +200,7 @@ #latex_use_modindex = True link_files = { - 'CHANGES.rst': dict( + '../CHANGES.rst': dict( using=dict( BB='https://bitbucket.org', GH='https://github.com', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-21.2.1/docs/easy_install.txt new/setuptools-23.1.0/docs/easy_install.txt --- old/setuptools-21.2.1/docs/easy_install.txt 2016-05-22 22:12:04.000000000 +0200 +++ new/setuptools-23.1.0/docs/easy_install.txt 2016-06-24 16:22:31.000000000 +0200 @@ -677,7 +677,7 @@ until and unless you override them explicitly in an ``[easy_install]`` section. For more information, see also the current Python documentation on the `use and -location of distutils configuration files <http://docs.python.org/inst/config-syntax.html>`_. +location of distutils configuration files <https://docs.python.org/install/index.html#inst-config-files>`_. Notice that ``easy_install`` will use the ``setup.cfg`` from the current working directory only if it was triggered from ``setup.py`` through the diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-21.2.1/docs/requirements.txt new/setuptools-23.1.0/docs/requirements.txt --- old/setuptools-21.2.1/docs/requirements.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/setuptools-23.1.0/docs/requirements.txt 2016-06-24 16:22:31.000000000 +0200 @@ -0,0 +1 @@ +rst.linker>=1.6.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-21.2.1/docs/setuptools.txt new/setuptools-23.1.0/docs/setuptools.txt --- old/setuptools-21.2.1/docs/setuptools.txt 2016-05-22 22:12:04.000000000 +0200 +++ new/setuptools-23.1.0/docs/setuptools.txt 2016-06-24 16:22:31.000000000 +0200 @@ -917,7 +917,7 @@ a quick example of converting code that uses ``__file__`` to use ``pkg_resources`` instead. -.. _Resource Management API: http://peak.telecommunity.com/DevCenter/PythonEggs#resource-management +.. _Resource Management API: http://peak.telecommunity.com/DevCenter/PkgResources#resourcemanager-api .. _Accessing Package Resources: http://peak.telecommunity.com/DevCenter/PythonEggs#accessing-package-resourc... diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-21.2.1/msvc-build-launcher.cmd new/setuptools-23.1.0/msvc-build-launcher.cmd --- old/setuptools-21.2.1/msvc-build-launcher.cmd 2016-05-22 22:12:04.000000000 +0200 +++ new/setuptools-23.1.0/msvc-build-launcher.cmd 2016-06-24 16:22:31.000000000 +0200 @@ -35,21 +35,5 @@ echo Windows SDK 6.1 not found to build Windows 64-bit version ) -REM Windows RT ARM build requires both freeware -REM "Visual Studio Express 2012 for Windows 8" and -REM "Visual Studio Express 2012 for Windows Desktop" to be installed from -REM http://www.microsoft.com/visualstudio/eng/products/visual-studio-express-pro... -set PATH=%PATH_OLD% -set PATH=C:\Program Files\Microsoft Visual Studio 11.0\VC;%PATH% -set PATH=C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC;%PATH% -call VCVARSALL x86_arm >nul 2>&1 -if "%ERRORLEVEL%"=="0" ( - echo Building Windows RT Version ... - cl /D "GUI=0" /D "WIN32_LEAN_AND_MEAN" /D _ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE launcher.c /O2 /link /MACHINE:ARM /SUBSYSTEM:CONSOLE /out:setuptools/cli-arm-32.exe - cl /D "GUI=1" /D "WIN32_LEAN_AND_MEAN" /D _ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE launcher.c /O2 /link /MACHINE:ARM /SUBSYSTEM:WINDOWS /out:setuptools/gui-arm-32.exe -) else ( - echo Visual Studio ^(Express^) 2012 not found to build Windows RT Version -) - set PATH=%PATH_OLD% diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-21.2.1/setup.cfg new/setuptools-23.1.0/setup.cfg --- old/setuptools-21.2.1/setup.cfg 2016-05-22 22:14:31.000000000 +0200 +++ new/setuptools-23.1.0/setup.cfg 2016-06-24 16:22:50.000000000 +0200 @@ -1,5 +1,5 @@ [bumpversion] -current_version = 21.2.1 +current_version = 23.1.0 commit = True tag = True @@ -10,18 +10,13 @@ [aliases] clean_egg_info = egg_info -RDb '' -release = clean_egg_info sdist bdist_wheel build_sphinx +release = clean_egg_info sdist bdist_wheel source = register sdist binary binary = bdist_egg upload --show-response test = pytest -[build_sphinx] -source-dir = docs/ -build-dir = docs/build -all_files = 1 - -[upload_docs] -upload-dir = docs/build/html +[upload] +repository = https://upload.pypi.io/legacy/ [sdist] formats = gztar zip diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-21.2.1/setup.py new/setuptools-23.1.0/setup.py --- old/setuptools-21.2.1/setup.py 2016-05-22 22:12:04.000000000 +0200 +++ new/setuptools-23.1.0/setup.py 2016-06-24 16:22:31.000000000 +0200 @@ -61,14 +61,12 @@ needs_pytest = set(['ptr', 'pytest', 'test']).intersection(sys.argv) pytest_runner = ['pytest-runner'] if needs_pytest else [] -needs_sphinx = set(['build_sphinx', 'upload_docs', 'release']).intersection(sys.argv) -sphinx = ['sphinx', 'rst.linker>=1.5'] if needs_sphinx else [] needs_wheel = set(['release', 'bdist_wheel']).intersection(sys.argv) wheel = ['wheel'] if needs_wheel else [] setup_params = dict( name="setuptools", - version="21.2.1", + version="23.1.0", description="Easily download, build, install, upgrade, and uninstall " "Python packages", author="Python Packaging Authority", @@ -158,7 +156,7 @@ 'pytest>=2.8', ] + (['mock'] if sys.version_info[:2] < (3, 3) else []), setup_requires=[ - ] + sphinx + pytest_runner + wheel, + ] + pytest_runner + wheel, ) if __name__ == '__main__': Files old/setuptools-21.2.1/setuptools/cli-arm-32.exe and new/setuptools-23.1.0/setuptools/cli-arm-32.exe differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-21.2.1/setuptools/command/build_py.py new/setuptools-23.1.0/setuptools/command/build_py.py --- old/setuptools-21.2.1/setuptools/command/build_py.py 2016-05-22 22:12:04.000000000 +0200 +++ new/setuptools-23.1.0/setuptools/command/build_py.py 2016-06-24 16:22:31.000000000 +0200 @@ -8,6 +8,7 @@ import distutils.errors import itertools +from setuptools.extern import six from setuptools.extern.six.moves import map, filter, filterfalse try: @@ -66,6 +67,9 @@ return orig.build_py.__getattr__(self, attr) def build_module(self, module, module_file, package): + if six.PY2 and isinstance(package, six.string_types): + # avoid errors on Python 2 when unicode is passed (#190) + package = package.split('.') outfile, copied = orig.build_py.build_module(self, module, module_file, package) if copied: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-21.2.1/setuptools/command/easy_install.py new/setuptools-23.1.0/setuptools/command/easy_install.py --- old/setuptools-21.2.1/setuptools/command/easy_install.py 2016-05-22 22:12:04.000000000 +0200 +++ new/setuptools-23.1.0/setuptools/command/easy_install.py 2016-06-24 16:22:31.000000000 +0200 @@ -32,7 +32,6 @@ import re import stat import random -import platform import textwrap import warnings import site @@ -2203,8 +2202,6 @@ Returns the executable as a byte string. """ launcher_fn = '%s.exe' % type - if platform.machine().lower() == 'arm': - launcher_fn = launcher_fn.replace(".", "-arm.") if is_64bit(): launcher_fn = launcher_fn.replace(".", "-64.") else: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-21.2.1/setuptools/command/egg_info.py new/setuptools-23.1.0/setuptools/command/egg_info.py --- old/setuptools-21.2.1/setuptools/command/egg_info.py 2016-05-22 22:12:04.000000000 +0200 +++ new/setuptools-23.1.0/setuptools/command/egg_info.py 2016-06-24 16:22:31.000000000 +0200 @@ -52,8 +52,10 @@ ] boolean_options = ['tag-date', 'tag-svn-revision'] - negative_opt = {'no-svn-revision': 'tag-svn-revision', - 'no-date': 'tag-date'} + negative_opt = { + 'no-svn-revision': 'tag-svn-revision', + 'no-date': 'tag-date', + } def initialize_options(self): self.egg_name = None @@ -197,6 +199,10 @@ if self.tag_build: version += self.tag_build if self.tag_svn_revision: + warnings.warn( + "tag_svn_revision is deprecated and will not be honored " + "in a future release" + ) version += '-r%s' % self.get_svn_revision() if self.tag_date: version += time.strftime("-%Y%m%d") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-21.2.1/setuptools/command/test.py new/setuptools-23.1.0/setuptools/command/test.py --- old/setuptools-21.2.1/setuptools/command/test.py 2016-05-22 22:12:04.000000000 +0200 +++ new/setuptools-23.1.0/setuptools/command/test.py 2016-06-24 16:22:31.000000000 +0200 @@ -1,6 +1,7 @@ +import sys +import contextlib from distutils.errors import DistutilsOptionError from unittest import TestLoader -import sys from setuptools.extern import six from setuptools.extern.six.moves import map @@ -102,6 +103,14 @@ yield self.test_suite def with_project_on_sys_path(self, func): + """ + Backward compatibility for project_on_sys_path context. + """ + with self.project_on_sys_path(): + func() + + @contextlib.contextmanager + def project_on_sys_path(self): with_2to3 = six.PY3 and getattr(self.distribution, 'use_2to3', False) if with_2to3: @@ -137,7 +146,7 @@ working_set.__init__() add_activation_listener(lambda dist: dist.activate()) require('%s==%s' % (ei_cmd.egg_name, ei_cmd.egg_version)) - func() + yield finally: sys.path[:] = old_path sys.modules.clear() @@ -154,9 +163,11 @@ cmd = ' '.join(self._argv) if self.dry_run: self.announce('skipping "%s" (dry run)' % cmd) - else: - self.announce('running "%s"' % cmd) - self.with_project_on_sys_path(self.run_tests) + return + + self.announce('running "%s"' % cmd) + with self.project_on_sys_path(): + self.run_tests() def run_tests(self): # Purge modules under test from sys.modules. The test loader will diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-21.2.1/setuptools/command/upload_docs.py new/setuptools-23.1.0/setuptools/command/upload_docs.py --- old/setuptools-21.2.1/setuptools/command/upload_docs.py 2016-05-22 22:12:04.000000000 +0200 +++ new/setuptools-23.1.0/setuptools/command/upload_docs.py 2016-06-24 16:22:31.000000000 +0200 @@ -13,6 +13,8 @@ import zipfile import tempfile import shutil +import itertools +import functools from setuptools.extern import six from setuptools.extern.six.moves import http_client, urllib @@ -21,15 +23,9 @@ from .upload import upload -errors = 'surrogateescape' if six.PY3 else 'strict' - - -# This is not just a replacement for byte literals -# but works as a general purpose encoder -def b(s, encoding='utf-8'): - if isinstance(s, six.text_type): - return s.encode(encoding, errors) - return s +def _encode(s): + errors = 'surrogateescape' if six.PY3 else 'strict' + return s.encode('utf-8', errors) class upload_docs(upload): @@ -101,10 +97,48 @@ finally: shutil.rmtree(tmp_dir) + @staticmethod + def _build_part(item, sep_boundary): + key, values = item + title = '\nContent-Disposition: form-data; name="%s"' % key + # handle multiple entries for the same name + if not isinstance(values, list): + values = [values] + for value in values: + if type(value) is tuple: + title += '; filename="%s"' % value[0] + value = value[1] + else: + value = _encode(value) + yield sep_boundary + yield _encode(title) + yield b"\n\n" + yield value + if value and value[-1:] == b'\r': + yield b'\n' # write an extra newline (lurve Macs) + + @classmethod + def _build_multipart(cls, data): + """ + Build up the MIME payload for the POST data + """ + boundary = b'--------------GHSKFJDLGDS7543FJKLFHRE75642756743254' + sep_boundary = b'\n--' + boundary + end_boundary = sep_boundary + b'--' + end_items = end_boundary, b"\n", + builder = functools.partial( + cls._build_part, + sep_boundary=sep_boundary, + ) + part_groups = map(builder, data.items()) + parts = itertools.chain.from_iterable(part_groups) + body_items = itertools.chain(parts, end_items) + content_type = 'multipart/form-data; boundary=%s' % boundary + return b''.join(body_items), content_type + def upload_file(self, filename): - f = open(filename, 'rb') - content = f.read() - f.close() + with open(filename, 'rb') as f: + content = f.read() meta = self.distribution.metadata data = { ':action': 'doc_upload', @@ -112,37 +146,13 @@ 'content': (os.path.basename(filename), content), } # set up the authentication - credentials = b(self.username + ':' + self.password) + credentials = _encode(self.username + ':' + self.password) credentials = standard_b64encode(credentials) if six.PY3: credentials = credentials.decode('ascii') auth = "Basic " + credentials - # Build up the MIME payload for the POST data - boundary = '--------------GHSKFJDLGDS7543FJKLFHRE75642756743254' - sep_boundary = b('\n--') + b(boundary) - end_boundary = sep_boundary + b('--') - body = [] - for key, values in six.iteritems(data): - title = '\nContent-Disposition: form-data; name="%s"' % key - # handle multiple entries for the same name - if not isinstance(values, list): - values = [values] - for value in values: - if type(value) is tuple: - title += '; filename="%s"' % value[0] - value = value[1] - else: - value = b(value) - body.append(sep_boundary) - body.append(b(title)) - body.append(b("\n\n")) - body.append(value) - if value and value[-1:] == b('\r'): - body.append(b('\n')) # write an extra newline (lurve Macs) - body.append(end_boundary) - body.append(b("\n")) - body = b('').join(body) + body, ct = self._build_multipart(data) self.announce("Submitting documentation to %s" % (self.repository), log.INFO) @@ -164,7 +174,7 @@ try: conn.connect() conn.putrequest("POST", url) - content_type = 'multipart/form-data; boundary=%s' % boundary + content_type = ct conn.putheader('Content-type', content_type) conn.putheader('Content-length', str(len(body))) conn.putheader('Authorization', auth) Files old/setuptools-21.2.1/setuptools/gui-arm-32.exe and new/setuptools-23.1.0/setuptools/gui-arm-32.exe differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-21.2.1/setuptools/package_index.py new/setuptools-23.1.0/setuptools/package_index.py --- old/setuptools-21.2.1/setuptools/package_index.py 2016-05-22 22:12:04.000000000 +0200 +++ new/setuptools-23.1.0/setuptools/package_index.py 2016-06-24 16:22:31.000000000 +0200 @@ -17,6 +17,7 @@ from setuptools.extern import six from setuptools.extern.six.moves import urllib, http_client, configparser, map +import setuptools from pkg_resources import ( CHECKOUT_DIST, Distribution, BINARY_DIST, normalize_path, SOURCE_DIST, require, Environment, find_distributions, safe_name, safe_version, @@ -46,6 +47,11 @@ _SOCKET_TIMEOUT = 15 + +_tmpl = "setuptools/{setuptools.__version__} Python-urllib/{py_major}" +user_agent = _tmpl.format(py_major=sys.version[:3], **globals()) + + def parse_bdist_wininst(name): """Return (base,pyversion) or (None,None) for possible .exe name""" @@ -202,9 +208,6 @@ if match: yield urllib.parse.urljoin(url, htmldecode(match.group(1))) -user_agent = "Python-urllib/%s setuptools/%s" % ( - sys.version[:3], require('setuptools')[0].version -) class ContentChecker(object): """ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-21.2.1/setuptools/tests/test_upload_docs.py new/setuptools-23.1.0/setuptools/tests/test_upload_docs.py --- old/setuptools-21.2.1/setuptools/tests/test_upload_docs.py 2016-05-22 22:12:04.000000000 +0200 +++ new/setuptools-23.1.0/setuptools/tests/test_upload_docs.py 2016-06-24 16:22:31.000000000 +0200 @@ -57,3 +57,15 @@ with contextlib.closing(zipfile.ZipFile(tmp_file)) as zip_file: assert zip_file.namelist() == ['index.html'] + + def test_build_multipart(self): + data = dict( + a="foo", + b="bar", + file=('file.txt', b'content'), + ) + body, content_type = upload_docs._build_multipart(data) + assert 'form-data' in content_type + assert isinstance(body, bytes) + assert b'foo' in body + assert b'content' in body diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-21.2.1/setuptools.egg-info/PKG-INFO new/setuptools-23.1.0/setuptools.egg-info/PKG-INFO --- old/setuptools-21.2.1/setuptools.egg-info/PKG-INFO 2016-05-22 22:14:31.000000000 +0200 +++ new/setuptools-23.1.0/setuptools.egg-info/PKG-INFO 2016-06-24 16:22:50.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: setuptools -Version: 21.2.1 +Version: 23.1.0 Summary: Easily download, build, install, upgrade, and uninstall Python packages Home-page: https://github.com/pypa/setuptools Author: Python Packaging Authority @@ -13,7 +13,8 @@ .. contents:: **Table of Contents** - `Change History <https://pythonhosted.org/setuptools/history.html>`_. + .. image:: https://setuptools.readthedocs.io/en/latest/?badge=latest + :target: https://setuptools.readthedocs.io ------------------------- Installation Instructions diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools-21.2.1/setuptools.egg-info/SOURCES.txt new/setuptools-23.1.0/setuptools.egg-info/SOURCES.txt --- old/setuptools-21.2.1/setuptools.egg-info/SOURCES.txt 2016-05-22 22:14:31.000000000 +0200 +++ new/setuptools-23.1.0/setuptools.egg-info/SOURCES.txt 2016-06-24 16:22:50.000000000 +0200 @@ -21,6 +21,7 @@ docs/pkg_resources.txt docs/python3.txt docs/releases.txt +docs/requirements.txt docs/roadmap.txt docs/setuptools.txt docs/_templates/indexsidebar.html @@ -51,14 +52,12 @@ setuptools/archive_util.py setuptools/cli-32.exe setuptools/cli-64.exe -setuptools/cli-arm-32.exe setuptools/cli.exe setuptools/depends.py setuptools/dist.py setuptools/extension.py setuptools/gui-32.exe setuptools/gui-64.exe -setuptools/gui-arm-32.exe setuptools/gui.exe setuptools/launch.py setuptools/lib2to3_ex.py
participants (1)
-
root@hilbert.suse.de