Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-zope.i18nmessageid for
openSUSE:Factory checked in at 2023-05-09 13:06:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-zope.i18nmessageid (Old)
and /work/SRC/openSUSE:Factory/.python-zope.i18nmessageid.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-zope.i18nmessageid"
Tue May 9 13:06:56 2023 rev:15 rq:1085137 version:6.0.1
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-zope.i18nmessageid/python-zope.i18nmessageid.changes
2023-05-04 17:09:59.952162844 +0200
+++
/work/SRC/openSUSE:Factory/.python-zope.i18nmessageid.new.1533/python-zope.i18nmessageid.changes
2023-05-09 13:07:09.572957310 +0200
@@ -1,0 +2,8 @@
+Fri May 5 14:24:11 UTC 2023 - Dirk Müller <[email protected]>
+
+- update to 6.0.1:
+ * Drop dependency on ``six``.
+ * Drop support for Python 2.7, 3.5, 3.6.
+ * Add preliminary support for Python 3.12a5.
+
+-------------------------------------------------------------------
Old:
----
zope.i18nmessageid-5.1.1.tar.gz
New:
----
zope.i18nmessageid-6.0.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-zope.i18nmessageid.spec ++++++
--- /var/tmp/diff_new_pack.KTJ3xb/_old 2023-05-09 13:07:10.184960953 +0200
+++ /var/tmp/diff_new_pack.KTJ3xb/_new 2023-05-09 13:07:10.196961024 +0200
@@ -25,8 +25,9 @@
%define psuffix %{nil}
%bcond_with test
%endif
+%{?sle15_python_module_pythons}
Name: python-zope.i18nmessageid%{psuffix}
-Version: 5.1.1
+Version: 6.0.1
Release: 0
Summary: Zope Location
License: ZPL-2.1
@@ -39,7 +40,6 @@
BuildRequires: python-rpm-macros
# SECTION documentation requirements
BuildRequires: python3-Sphinx
-Requires: python-six
# /SECTION
# SECTION testing requirements
%if %{with test}
++++++ zope.i18nmessageid-5.1.1.tar.gz -> zope.i18nmessageid-6.0.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.i18nmessageid-5.1.1/.manylinux-install.sh
new/zope.i18nmessageid-6.0.1/.manylinux-install.sh
--- old/zope.i18nmessageid-5.1.1/.manylinux-install.sh 2022-11-17
15:09:48.000000000 +0100
+++ new/zope.i18nmessageid-6.0.1/.manylinux-install.sh 2023-03-24
07:58:02.000000000 +0100
@@ -28,9 +28,7 @@
tox_env_map() {
case $1 in
- *"cp27"*) echo 'py27';;
- *"cp35"*) echo 'py35';;
- *"cp36"*) echo 'py36';;
+ *"cp312"*) echo 'py312';;
*"cp37"*) echo 'py37';;
*"cp38"*) echo 'py38';;
*"cp39"*) echo 'py39';;
@@ -43,16 +41,19 @@
# Compile wheels
for PYBIN in /opt/python/*/bin; do
if \
- [[ "${PYBIN}" == *"cp27"* ]] || \
- [[ "${PYBIN}" == *"cp35"* ]] || \
+ [[ "${PYBIN}" == *"cp312"* ]] || \
[[ "${PYBIN}" == *"cp311"* ]] || \
- [[ "${PYBIN}" == *"cp36"* ]] || \
[[ "${PYBIN}" == *"cp37"* ]] || \
[[ "${PYBIN}" == *"cp38"* ]] || \
[[ "${PYBIN}" == *"cp39"* ]] || \
[[ "${PYBIN}" == *"cp310"* ]] ; then
- "${PYBIN}/pip" install -e /io/
- "${PYBIN}/pip" wheel /io/ -w wheelhouse/
+ if [[ "${PYBIN}" == *"cp312"* ]] ; then
+ "${PYBIN}/pip" install --pre -e /io/
+ "${PYBIN}/pip" wheel /io/ --pre -w wheelhouse/
+ else
+ "${PYBIN}/pip" install -e /io/
+ "${PYBIN}/pip" wheel /io/ -w wheelhouse/
+ fi
if [ `uname -m` == 'aarch64' ]; then
cd /io/
${PYBIN}/pip install tox
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.i18nmessageid-5.1.1/CHANGES.rst
new/zope.i18nmessageid-6.0.1/CHANGES.rst
--- old/zope.i18nmessageid-5.1.1/CHANGES.rst 2022-11-17 15:26:18.000000000
+0100
+++ new/zope.i18nmessageid-6.0.1/CHANGES.rst 2023-03-24 07:58:02.000000000
+0100
@@ -2,6 +2,20 @@
Changes
=========
+6.0.1 (2023-03-24)
+==================
+
+- Drop dependency on ``six``.
+
+
+6.0.0 (2023-03-23)
+==================
+
+- Drop support for Python 2.7, 3.5, 3.6.
+
+- Add preliminary support for Python 3.12a5.
+
+
5.1.1 (2022-11-17)
==================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.i18nmessageid-5.1.1/PKG-INFO
new/zope.i18nmessageid-6.0.1/PKG-INFO
--- old/zope.i18nmessageid-5.1.1/PKG-INFO 2022-11-17 16:10:00.848174800
+0100
+++ new/zope.i18nmessageid-6.0.1/PKG-INFO 2023-03-24 07:58:03.586184700
+0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: zope.i18nmessageid
-Version: 5.1.1
+Version: 6.0.1
Summary: Message Identifiers for internationalization
Home-page: https://github.com/zopefoundation/zope.i18nmessageid
Author: Zope Foundation and Contributors
@@ -12,11 +12,7 @@
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Zope Public License
Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.5
-Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
@@ -28,7 +24,7 @@
Classifier: Operating System :: OS Independent
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Framework :: Zope :: 3
-Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*
+Requires-Python: >=3.7
Provides-Extra: testing
Provides-Extra: test
Provides-Extra: docs
@@ -78,6 +74,20 @@
Changes
=========
+6.0.1 (2023-03-24)
+==================
+
+- Drop dependency on ``six``.
+
+
+6.0.0 (2023-03-23)
+==================
+
+- Drop support for Python 2.7, 3.5, 3.6.
+
+- Add preliminary support for Python 3.12a5.
+
+
5.1.1 (2022-11-17)
==================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.i18nmessageid-5.1.1/appveyor.yml
new/zope.i18nmessageid-6.0.1/appveyor.yml
--- old/zope.i18nmessageid-5.1.1/appveyor.yml 2022-11-17 15:09:48.000000000
+0100
+++ new/zope.i18nmessageid-6.0.1/appveyor.yml 2023-03-24 07:58:02.000000000
+0100
@@ -9,14 +9,14 @@
secure:
aoZC/+rvJKg8B5GMGIxd1VZ0Oxtmc0lPMiqT2wHP5qBRoZf6tEB7n9u7uCIifcAX1IWsLCRF7DKWvvCQTFJL5HcQvXFQSnEuXvdMT/utFFx9eCCy+Cu+WuWkasGCG+gx9uhMTe01mixi8yujgVj894Xjdv5YyNH2dPeqV5kInTzYrOmKZs1FTvKTlYZNHyYWRnYhyaLBn4FmmeuXuFcd5o05jkaa2dnerW85F3sr7mWbCgL4GpEQ59rYX34Cl4EdEXw+IViTyFWJuZp+k9GCUnzxAmA+vlfoSbZ6JfvTLaU=
matrix:
- - python: 27-x64
- - python: 35-x64
- - python: 36-x64
- python: 37-x64
- python: 38-x64
- python: 39-x64
- python: 310-x64
- python: 311-x64
+ # `multibuild` cannot install non-final versions as they are not on
+ # ftp.python.org, so we skip Python 3.11 until its final release:
+ # - python: 312-x64
install:
- "SET PYTHONVERSION=%PYTHON%"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zope.i18nmessageid-5.1.1/docs/_build/doctest/output.txt
new/zope.i18nmessageid-6.0.1/docs/_build/doctest/output.txt
--- old/zope.i18nmessageid-5.1.1/docs/_build/doctest/output.txt 2022-11-06
13:20:00.000000000 +0100
+++ new/zope.i18nmessageid-6.0.1/docs/_build/doctest/output.txt 1970-01-01
01:00:00.000000000 +0100
@@ -1,17 +0,0 @@
-Results of doctest builder run on 2022-11-06 13:20:00
-=====================================================
-
-Document: narr
---------------
-1 items passed all tests:
- 36 tests in default
-36 tests in 1 items.
-36 passed and 0 failed.
-Test passed.
-
-Doctest summary
-===============
- 36 tests
- 0 failures in tests
- 0 failures in setup code
- 0 failures in cleanup code
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zope.i18nmessageid-5.1.1/docs/_build/html/_sources/api.rst.txt
new/zope.i18nmessageid-6.0.1/docs/_build/html/_sources/api.rst.txt
--- old/zope.i18nmessageid-5.1.1/docs/_build/html/_sources/api.rst.txt
2022-11-03 15:37:34.000000000 +0100
+++ new/zope.i18nmessageid-6.0.1/docs/_build/html/_sources/api.rst.txt
1970-01-01 01:00:00.000000000 +0100
@@ -1,11 +0,0 @@
-:mod:`zope.i18nmessageid` API Reference
-=======================================
-
-:mod:`zope.i18nmessageid.message`
----------------------------------
-
-.. automodule:: zope.i18nmessageid.message
-
- .. autoclass:: Message
-
- .. autoclass:: MessageFactory
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zope.i18nmessageid-5.1.1/docs/_build/html/_sources/hacking.rst.txt
new/zope.i18nmessageid-6.0.1/docs/_build/html/_sources/hacking.rst.txt
--- old/zope.i18nmessageid-5.1.1/docs/_build/html/_sources/hacking.rst.txt
2022-11-03 15:37:34.000000000 +0100
+++ new/zope.i18nmessageid-6.0.1/docs/_build/html/_sources/hacking.rst.txt
1970-01-01 01:00:00.000000000 +0100
@@ -1,300 +0,0 @@
-Hacking on :mod:`zope.i18nmessageid`
-====================================
-
-
-Getting the Code
-################
-
-The main repository for :mod:`zope.i18nmessageid` is in the Zope Foundation
-Github repository:
-
- https://github.com/zopefoundation/zope.i18nmessageid
-
-You can get a read-only checkout from there:
-
-.. code-block:: sh
-
- $ git clone https://github.com/zopefoundation/zope.i18nmessageid.git
-
-or fork it and get a writeable checkout of your fork:
-
-.. code-block:: sh
-
- $ git clone [email protected]/jrandom/zope.i18nmessageid.git
-
-The project also mirrors the trunk from the Github repository as a
-Bazaar branch on Launchpad:
-
-https://code.launchpad.net/zope.i8nmessageid
-
-You can branch the trunk from there using Bazaar:
-
-.. code-block:: sh
-
- $ bzr branch lp:zope.i8nmessageid
-
-
-
-Working in a ``virtualenv``
-###########################
-
-Installing
-----------
-
-If you use the ``virtualenv`` package to create lightweight Python
-development environments, you can run the tests using nothing more
-than the ``python`` binary in a virtualenv. First, create a scratch
-environment:
-
-.. code-block:: sh
-
- $ /path/to/virtualenv --no-site-packages /tmp/hack-zope.i18nmessageid
-
-Next, get this package registered as a "development egg" in the
-environment:
-
-.. code-block:: sh
-
- $ /tmp/hack-zope.i8nmessageid/bin/python setup.py develop
-
-Running the tests
------------------
-
-Run the tests using the build-in ``setuptools`` testrunner:
-
-.. code-block:: sh
-
- $ /tmp/hack-zope.i8nmessageid/bin/python setup.py test -q
- running test
- ....................
- ----------------------------------------------------------------------
- Ran 20 tests in 0.001s
-
- OK
-
-The ``dev`` command alias downloads and installs extra tools, like the
-:mod:`nose` testrunner and the :mod:`coverage` coverage analyzer:
-
-.. code-block:: sh
-
- $ /tmp/hack-zope.i8nmessageid/bin/python setup.py dev
- $ /tmp/hack-zope.i8nmessageid/bin/nosetests
- running nosetests
- ....................
- ----------------------------------------------------------------------
- Ran 20 tests in 0.030s
-
- OK
-
-If you have the :mod:`coverage` pacakge installed in the virtualenv,
-you can see how well the tests cover the code:
-
-.. code-block:: sh
-
- $ /tmp/hack-zope.i8nmessageid/bin/nosetests --with coverage
- running nosetests
- ....................
- Name Stmts Miss Cover Missing
- ----------------------------------------------------------
- zope.i18nmessageid 3 0 100%
- zope.i18nmessageid.message 36 0 100%
- ----------------------------------------------------------
- TOTAL 39 0 100%
- ----------------------------------------------------------------------
- Ran 21 tests in 0.036s
-
- OK
-
-
-Building the documentation
---------------------------
-
-:mod:`zope.i18nmessageid` uses the nifty :mod:`Sphinx` documentation system
-for building its docs. Using the same virtualenv you set up to run the
-tests, you can build the docs:
-
-The ``docs`` command alias downloads and installs Sphinx and its dependencies:
-
-.. code-block:: sh
-
- $ /tmp/hack-zope.i8nmessageid/bin/python setup.py docs
- ...
- $ bin/sphinx-build -b html -d docs/_build/doctrees docs docs/_build/html
- ...
- build succeeded.
-
-You can also test the code snippets in the documentation:
-
-.. code-block:: sh
-
- $ bin/sphinx-build -b doctest -d docs/_build/doctrees docs
docs/_build/doctest
- ...
- running tests...
-
- Document: index
- ---------------
- 1 items passed all tests:
- 17 tests in default
- 17 tests in 1 items.
- 17 passed and 0 failed.
- Test passed.
-
- Doctest summary
- ===============
- 17 tests
- 0 failures in tests
- 0 failures in setup code
- build succeeded.
-
-
-Using :mod:`zc.buildout`
-########################
-
-Setting up the buildout
------------------------
-
-:mod:`zope.i18nmessageid` ships with its own :file:`buildout.cfg` file and
-:file:`bootstrap.py` for setting up a development buildout:
-
-.. code-block:: sh
-
- $ /path/to/python2.6 bootstrap.py
- ...
- Generated script '.../bin/buildout'
- $ bin/buildout
- Develop: '/home/jrandom/projects/Zope/BTK/i18nmessageid/.'
- ...
- Generated script '.../bin/sphinx-quickstart'.
- Generated script '.../bin/sphinx-build'.
-
-
-Running the tests
------------------
-
-You can now run the tests:
-
-.. code-block:: sh
-
- $ bin/test --all
- Running zope.testing.testrunner.layer.UnitTests tests:
- Set up zope.testing.testrunner.layer.UnitTests in 0.000 seconds.
- Ran 702 tests with 0 failures and 0 errors in 0.000 seconds.
- Tearing down left over layers:
- Tear down zope.testing.testrunner.layer.UnitTests in 0.000 seconds.
-
-
-Using :mod:`tox`
-################
-
-
-Running Tests on Multiple Python Versions
------------------------------------------
-
-`tox <http://tox.testrun.org/latest/>`_ is a Python-based test automation
-tool designed to run tests against multiple Python versions. It creates
-a ``virtualenv`` for each configured version, installs the current package
-and configured dependencies into each ``virtualenv``, and then runs the
-configured commands.
-
-:mod:`zope.i18nmessageid` configures the following :mod:`tox` environments via
-its ``tox.ini`` file:
-
-- The ``py26``, ``py27``, ``py33``, ``py34``, and ``pypy`` environments
- builds a ``virtualenv`` with ``pypy``,
- installs :mod:`zope.i18nmessageid` and dependencies, and runs the tests
- via ``python setup.py test -q``.
-
-- The ``coverage`` environment builds a ``virtualenv`` with ``python2.6``,
- installs :mod:`zope.i18nmessageid` and dependencies, installs
- :mod:`nose` and :mod:`coverage`, and runs ``nosetests`` with statement
- coverage.
-
-- The ``docs`` environment builds a virtualenv with ``python2.6``, installs
- :mod:`zope.i18nmessageid` and dependencies, installs ``Sphinx`` and
- dependencies, and then builds the docs and exercises the doctest snippets.
-
-This example requires that you have a working ``python2.6`` on your path,
-as well as installing ``tox``:
-
-.. code-block:: sh
-
- $ tox -e py26
- GLOB sdist-make: .../zope.i18nmessageid/setup.py
- py26 sdist-reinst:
.../zope.i18nmessageid/.tox/dist/zope.i18nmessageid-4.0.2dev.zip
- py26 runtests: commands[0]
- ...
- ----------------------------------------------------------------------
- Ran 1341 tests in 0.477s
-
- OK
- ___________________________________ summary
____________________________________
- py26: commands succeeded
- congratulations :)
-
-Running ``tox`` with no arguments runs all the configured environments,
-including building the docs and testing their snippets:
-
-.. code-block:: sh
-
- $ tox
- GLOB sdist-make: .../zope.i18nmessageid/setup.py
- py26 sdist-reinst:
.../zope.i18nmessageid/.tox/dist/zope.i18nmessageid-4.0.2dev.zip
- py26 runtests: commands[0]
- ...
- Doctest summary
- ===============
- 678 tests
- 0 failures in tests
- 0 failures in setup code
- 0 failures in cleanup code
- build succeeded.
- ___________________________________ summary
____________________________________
- py26: commands succeeded
- py27: commands succeeded
- py32: commands succeeded
- pypy: commands succeeded
- coverage: commands succeeded
- docs: commands succeeded
- congratulations :)
-
-
-
-Contributing to :mod:`zope.i18nmessageid`
-#########################################
-
-Submitting a Bug Report
------------------------
-
-:mod:`zope.i18nmessageid` tracks its bugs on Github:
-
- https://github.com/zopefoundation/zope.i18nmessageid/issues
-
-Please submit bug reports and feature requests there.
-
-Sharing Your Changes
---------------------
-
-.. note::
-
- Please ensure that all tests are passing before you submit your code.
- If possible, your submission should include new tests for new features
- or bug fixes, although it is possible that you may have tested your
- new code by updating existing tests.
-
-If have made a change you would like to share, the best route is to fork
-the Githb repository, check out your fork, make your changes on a branch
-in your fork, and push it. You can then submit a pull request from your
-branch:
-
- https://github.com/zopefoundation/zope.i18nmessageid/pulls
-
-If you branched the code from Launchpad using Bazaar, you have another
-option: you can "push" your branch to Launchpad:
-
-.. code-block:: sh
-
- $ bzr push lp:~jrandom/zope.i18nmessageid/cool_feature
-
-After pushing your branch, you can link it to a bug report on Launchpad,
-or request that the maintainers merge your branch using the Launchpad
-"merge request" feature.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zope.i18nmessageid-5.1.1/docs/_build/html/_sources/index.rst.txt
new/zope.i18nmessageid-6.0.1/docs/_build/html/_sources/index.rst.txt
--- old/zope.i18nmessageid-5.1.1/docs/_build/html/_sources/index.rst.txt
2022-11-03 15:37:34.000000000 +0100
+++ new/zope.i18nmessageid-6.0.1/docs/_build/html/_sources/index.rst.txt
1970-01-01 01:00:00.000000000 +0100
@@ -1,21 +0,0 @@
-:mod:`zope.i18nmessageid` Documentation
-=======================================
-
-Contents:
-
-.. toctree::
- :maxdepth: 2
-
- narr
- api
- hacking
-
-
-
-Indices and tables
-==================
-
-* :ref:`genindex`
-* :ref:`modindex`
-* :ref:`search`
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zope.i18nmessageid-5.1.1/docs/_build/html/_sources/narr.rst.txt
new/zope.i18nmessageid-6.0.1/docs/_build/html/_sources/narr.rst.txt
--- old/zope.i18nmessageid-5.1.1/docs/_build/html/_sources/narr.rst.txt
2022-11-06 13:17:38.000000000 +0100
+++ new/zope.i18nmessageid-6.0.1/docs/_build/html/_sources/narr.rst.txt
1970-01-01 01:00:00.000000000 +0100
@@ -1,169 +0,0 @@
-Using :mod:`zope.i18nmessageid`
-===============================
-
-Rationale
----------
-
-To translate any text, we must be able to discover the source domain
-of the text. A source domain is an identifier that identifies a
-project that produces program source strings. Source strings occur as
-literals in python programs, text in templates, and some text in XML
-data. The project implies a source language and an application
-context.
-
-Messages and Domains
---------------------
-
-We can think of a source domain as a collection of messages and
-associated translation strings. The domain helps to disambiguate messages
-based on context: for instance, the message whose source string is ``draw``
-means one thing in a first-person shooter game, and quite another in a
-graphics package: in the first case, the domain for the message might
-be ``ok_corral``, while in the second it might be ``gimp``.
-
-We often need to create unicode strings that will be displayed by
-separate views. The view cannot translate the string without knowing
-its source domain. A string or unicode literal carries no domain
-information, therefore we use instances of the
-:class:`~zope.i18nmessageid.message.Message` class. Messages are unicode
-strings which carry a translation source domain and possibly a default
-translation.
-
-Message Factories
------------------
-
-Messages are created by a message factory belonging to a given translation
-domain. Each message factory is created by instantiating a
-:class:`~zope.i18nmessageid.message.MessageFactory`, passing the domain
-corresponding to the project which manages the corrresponding translations.
-
-.. doctest::
-
- >>> from zope.i18nmessageid import MessageFactory
- >>> factory = MessageFactory('myproject')
- >>> foo = factory('foo')
- >>> foo.domain
- 'myproject'
-
-The Zope project uses the ``zope`` domain for its messages. This package
-exports an already-created factory for that domain:
-
-.. doctest::
-
- >>> from zope.i18nmessageid import ZopeMessageFactory as _z_
- >>> foo = _z_('foo')
- >>> foo.domain
- 'zope'
-
-
-Example Usage
--------------
-
-In this example, we create a message factory and assign it to _. By
-convention, we use _ as the name of our factory to be compatible with
-translatable string extraction tools such as xgettext. We then call _
-with a string that needs to be translatable:
-
-.. doctest::
-
- >>> from zope.i18nmessageid import MessageFactory, Message
- >>> _ = MessageFactory("futurama")
- >>> robot = _(u"robot-message", u"${name} is a robot.")
-
-Messages at first seem like they are text strings:
-
-.. doctest::
-
- >>> import six
- >>> robot == u'robot-message'
- True
- >>> isinstance(robot, six.text_type)
- True
-
-The additional domain, default and mapping information is available
-through attributes:
-
-.. doctest::
-
- >>> robot.default == u'${name} is a robot.'
- True
- >>> robot.mapping
- >>> robot.domain
- 'futurama'
-
-The message's attributes are considered part of the immutable message
-object. They cannot be changed once the message id is created:
-
-.. doctest::
-
- >>> robot.domain = "planetexpress"
- Traceback (most recent call last):
- ...
- AttributeError: readonly attribute
-
- >>> robot.default = u"${name} is not a robot."
- Traceback (most recent call last):
- ...
- AttributeError: readonly attribute
-
- >>> robot.mapping = {u'name': u'Bender'}
- Traceback (most recent call last):
- ...
- AttributeError: readonly attribute
-
-If you need to change their information, you'll have to make a new
-message id object:
-
-.. doctest::
-
- >>> new_robot = Message(robot, mapping={u'name': u'Bender'})
- >>> new_robot == u'robot-message'
- True
- >>> new_robot.domain
- 'futurama'
- >>> new_robot.default == u'${name} is a robot.'
- True
- >>> new_robot.mapping == {u'name': u'Bender'}
- True
-
-Last but not least, messages are reduceable for pickling:
-
-.. doctest::
-
- >>> callable, args = new_robot.__reduce__()
- >>> callable is Message
- True
- >>> args == (u'robot-message',
- ... 'futurama',
- ... u'${name} is a robot.',
- ... {u'name': u'Bender'},
- ... None,
- ... None,
- ... None)
- True
-
- >>> fembot = Message(u'fembot')
- >>> callable, args = fembot.__reduce__()
- >>> callable is Message
- True
- >>> args == (u'fembot', None, None, None, None, None, None)
- True
-
-Pickling and unpickling works, which means we can store message IDs in
-a database:
-
-.. doctest::
-
- >>> from pickle import dumps, loads
- >>> pystate = dumps(new_robot)
- >>> pickle_bot = loads(pystate)
- >>> (pickle_bot,
- ... pickle_bot.domain,
- ... pickle_bot.default,
- ... pickle_bot.mapping) == (u'robot-message',
- ... 'futurama',
- ... u'${name} is a robot.',
- ... {u'name': u'Bender'})
- True
- >>> pickle_bot.__reduce__()[0] is Message
- True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.i18nmessageid-5.1.1/docs/narr.rst
new/zope.i18nmessageid-6.0.1/docs/narr.rst
--- old/zope.i18nmessageid-5.1.1/docs/narr.rst 2022-11-06 13:17:38.000000000
+0100
+++ new/zope.i18nmessageid-6.0.1/docs/narr.rst 2023-03-24 07:58:02.000000000
+0100
@@ -74,10 +74,9 @@
.. doctest::
- >>> import six
- >>> robot == u'robot-message'
+ >>> robot == 'robot-message'
True
- >>> isinstance(robot, six.text_type)
+ >>> isinstance(robot, str)
True
The additional domain, default and mapping information is available
@@ -85,7 +84,7 @@
.. doctest::
- >>> robot.default == u'${name} is a robot.'
+ >>> robot.default == '${name} is a robot.'
True
>>> robot.mapping
>>> robot.domain
@@ -106,24 +105,24 @@
...
AttributeError: readonly attribute
- >>> robot.mapping = {u'name': u'Bender'}
+ >>> robot.mapping = {'name': 'Bender'}
Traceback (most recent call last):
...
AttributeError: readonly attribute
-If you need to change their information, you'll have to make a new
+If you need to change their information, yo'll have to make a new
message id object:
.. doctest::
- >>> new_robot = Message(robot, mapping={u'name': u'Bender'})
- >>> new_robot == u'robot-message'
+ >>> new_robot = Message(robot, mapping={'name': 'Bender'})
+ >>> new_robot == 'robot-message'
True
>>> new_robot.domain
'futurama'
- >>> new_robot.default == u'${name} is a robot.'
+ >>> new_robot.default == '${name} is a robot.'
True
- >>> new_robot.mapping == {u'name': u'Bender'}
+ >>> new_robot.mapping == {'name': 'Bender'}
True
Last but not least, messages are reduceable for pickling:
@@ -133,20 +132,20 @@
>>> callable, args = new_robot.__reduce__()
>>> callable is Message
True
- >>> args == (u'robot-message',
+ >>> args == ('robot-message',
... 'futurama',
- ... u'${name} is a robot.',
- ... {u'name': u'Bender'},
+ ... '${name} is a robot.',
+ ... {'name': 'Bender'},
... None,
... None,
... None)
True
- >>> fembot = Message(u'fembot')
+ >>> fembot = Message('fembot')
>>> callable, args = fembot.__reduce__()
>>> callable is Message
True
- >>> args == (u'fembot', None, None, None, None, None, None)
+ >>> args == ('fembot', None, None, None, None, None, None)
True
Pickling and unpickling works, which means we can store message IDs in
@@ -160,10 +159,10 @@
>>> (pickle_bot,
... pickle_bot.domain,
... pickle_bot.default,
- ... pickle_bot.mapping) == (u'robot-message',
+ ... pickle_bot.mapping) == ('robot-message',
... 'futurama',
- ... u'${name} is a robot.',
- ... {u'name': u'Bender'})
+ ... '${name} is a robot.',
+ ... {'name': 'Bender'})
True
>>> pickle_bot.__reduce__()[0] is Message
True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.i18nmessageid-5.1.1/setup.cfg
new/zope.i18nmessageid-6.0.1/setup.cfg
--- old/zope.i18nmessageid-5.1.1/setup.cfg 2022-11-17 16:10:00.848437800
+0100
+++ new/zope.i18nmessageid-6.0.1/setup.cfg 2023-03-24 07:58:03.586763000
+0100
@@ -1,5 +1,5 @@
[bdist_wheel]
-universal = 1
+universal = 0
[zest.releaser]
create-wheel = no
@@ -20,7 +20,7 @@
force_single_line = True
combine_as_imports = True
sections = FUTURE,STDLIB,THIRDPARTY,ZOPE,FIRSTPARTY,LOCALFOLDER
-known_third_party = six, docutils, pkg_resources
+known_third_party = six, docutils, pkg_resources, pytz
known_zope =
known_first_party =
default_section = ZOPE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.i18nmessageid-5.1.1/setup.py
new/zope.i18nmessageid-6.0.1/setup.py
--- old/zope.i18nmessageid-5.1.1/setup.py 2022-11-17 15:26:08.000000000
+0100
+++ new/zope.i18nmessageid-6.0.1/setup.py 2023-03-24 07:58:02.000000000
+0100
@@ -18,7 +18,6 @@
##############################################################################
"""Setup for zope.i18nmessageid package
"""
-from __future__ import print_function
import os
import platform
@@ -96,7 +95,7 @@
setup(
name='zope.i18nmessageid',
- version='5.1.1',
+ version='6.0.1',
author='Zope Foundation and Contributors',
author_email='[email protected]',
description='Message Identifiers for internationalization',
@@ -112,11 +111,7 @@
'Intended Audience :: Developers',
'License :: OSI Approved :: Zope Public License',
'Programming Language :: Python',
- 'Programming Language :: Python :: 2',
- 'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
- 'Programming Language :: Python :: 3.5',
- 'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
@@ -134,15 +129,8 @@
packages=find_packages('src'),
package_dir={'': 'src'},
namespace_packages=['zope'],
- install_requires=['setuptools', 'six'],
- python_requires=', '.join([
- '>=2.7',
- '!=3.0.*',
- '!=3.1.*',
- '!=3.2.*',
- '!=3.3.*',
- '!=3.4.*',
- ]),
+ install_requires=['setuptools'],
+ python_requires='>=3.7',
include_package_data=True,
test_suite='zope.i18nmessageid.tests.test_suite',
zip_safe=False,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zope.i18nmessageid-5.1.1/src/zope/i18nmessageid/message.py
new/zope.i18nmessageid-6.0.1/src/zope/i18nmessageid/message.py
--- old/zope.i18nmessageid-5.1.1/src/zope/i18nmessageid/message.py
2022-11-06 13:07:04.000000000 +0100
+++ new/zope.i18nmessageid-6.0.1/src/zope/i18nmessageid/message.py
2023-03-24 07:58:02.000000000 +0100
@@ -13,14 +13,12 @@
##############################################################################
"""I18n Messages and factories.
"""
-import six
-
__docformat__ = "reStructuredText"
_marker = object()
-class Message(six.text_type):
+class Message(str):
"""Message (Python implementation)
This is a string used as a message. It has a domain attribute that is
@@ -36,7 +34,7 @@
def __new__(cls, ustr, domain=_marker, default=_marker, mapping=_marker,
msgid_plural=_marker, default_plural=_marker, number=_marker):
- self = six.text_type.__new__(cls, ustr)
+ self = str.__new__(cls, ustr)
if isinstance(ustr, self.__class__):
self.domain = ustr.domain
self.default = ustr.default
@@ -66,7 +64,7 @@
self.number = number
if self.number is not None and not isinstance(
- self.number, six.integer_types + (float,)):
+ self.number, (int, float)):
raise TypeError('`number` should be an integer or a float')
self._readonly = True
@@ -80,11 +78,11 @@
if getattr(self, '_readonly', False):
raise TypeError('readonly attribute')
else:
- return six.text_type.__setattr__(self, key, value)
+ return str.__setattr__(self, key, value)
def __getstate__(self):
return (
- six.text_type(self), self.domain, self.default, self.mapping,
+ str(self), self.domain, self.default, self.mapping,
self.msgid_plural, self.default_plural, self.number)
def __reduce__(self):
@@ -101,7 +99,7 @@
pass
-class MessageFactory(object):
+class MessageFactory:
"""Factory for creating i18n messages."""
def __init__(self, domain):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zope.i18nmessageid-5.1.1/src/zope/i18nmessageid/tests.py
new/zope.i18nmessageid-6.0.1/src/zope/i18nmessageid/tests.py
--- old/zope.i18nmessageid-5.1.1/src/zope/i18nmessageid/tests.py
2022-11-06 12:44:51.000000000 +0100
+++ new/zope.i18nmessageid-6.0.1/src/zope/i18nmessageid/tests.py
2023-03-24 07:58:02.000000000 +0100
@@ -151,7 +151,7 @@
# https://github.com/zopefoundation/zope.i18nmessageid/issues/14
pref_msg = self._makeOne("${name} Preferences")
self.assertIsNone(pref_msg.default)
- copy = self._makeOne(pref_msg, mapping={u'name': u'name'})
+ copy = self._makeOne(pref_msg, mapping={'name': 'name'})
self.assertIsNone(copy.default)
def test_copy_no_overrides(self):
@@ -220,12 +220,12 @@
'testings', 'defaults', 2))
def test_non_unicode_default(self):
- message = self._makeOne(u'str', default=123)
+ message = self._makeOne('str', default=123)
self.assertEqual(message.default, 123)
def test_non_numeric_number(self):
with self.assertRaises((TypeError, AttributeError)):
- self._makeOne(u'str', default=123, number="one")
+ self._makeOne('str', default=123, number="one")
@unittest.skipIf(messageid.Message is messageid.pyMessage, "Duplicate tests")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zope.i18nmessageid-5.1.1/src/zope.i18nmessageid.egg-info/PKG-INFO
new/zope.i18nmessageid-6.0.1/src/zope.i18nmessageid.egg-info/PKG-INFO
--- old/zope.i18nmessageid-5.1.1/src/zope.i18nmessageid.egg-info/PKG-INFO
2022-11-17 16:10:00.000000000 +0100
+++ new/zope.i18nmessageid-6.0.1/src/zope.i18nmessageid.egg-info/PKG-INFO
2023-03-24 07:58:03.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: zope.i18nmessageid
-Version: 5.1.1
+Version: 6.0.1
Summary: Message Identifiers for internationalization
Home-page: https://github.com/zopefoundation/zope.i18nmessageid
Author: Zope Foundation and Contributors
@@ -12,11 +12,7 @@
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Zope Public License
Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.5
-Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
@@ -28,7 +24,7 @@
Classifier: Operating System :: OS Independent
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Framework :: Zope :: 3
-Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*
+Requires-Python: >=3.7
Provides-Extra: testing
Provides-Extra: test
Provides-Extra: docs
@@ -78,6 +74,20 @@
Changes
=========
+6.0.1 (2023-03-24)
+==================
+
+- Drop dependency on ``six``.
+
+
+6.0.0 (2023-03-23)
+==================
+
+- Drop support for Python 2.7, 3.5, 3.6.
+
+- Add preliminary support for Python 3.12a5.
+
+
5.1.1 (2022-11-17)
==================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zope.i18nmessageid-5.1.1/src/zope.i18nmessageid.egg-info/SOURCES.txt
new/zope.i18nmessageid-6.0.1/src/zope.i18nmessageid.egg-info/SOURCES.txt
--- old/zope.i18nmessageid-5.1.1/src/zope.i18nmessageid.egg-info/SOURCES.txt
2022-11-17 16:10:00.000000000 +0100
+++ new/zope.i18nmessageid-6.0.1/src/zope.i18nmessageid.egg-info/SOURCES.txt
2023-03-24 07:58:03.000000000 +0100
@@ -19,11 +19,6 @@
docs/index.rst
docs/make.bat
docs/narr.rst
-docs/_build/doctest/output.txt
-docs/_build/html/_sources/api.rst.txt
-docs/_build/html/_sources/hacking.rst.txt
-docs/_build/html/_sources/index.rst.txt
-docs/_build/html/_sources/narr.rst.txt
src/zope/__init__.py
src/zope.i18nmessageid.egg-info/PKG-INFO
src/zope.i18nmessageid.egg-info/SOURCES.txt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zope.i18nmessageid-5.1.1/src/zope.i18nmessageid.egg-info/requires.txt
new/zope.i18nmessageid-6.0.1/src/zope.i18nmessageid.egg-info/requires.txt
--- old/zope.i18nmessageid-5.1.1/src/zope.i18nmessageid.egg-info/requires.txt
2022-11-17 16:10:00.000000000 +0100
+++ new/zope.i18nmessageid-6.0.1/src/zope.i18nmessageid.egg-info/requires.txt
2023-03-24 07:58:03.000000000 +0100
@@ -1,5 +1,4 @@
setuptools
-six
[docs]
Sphinx
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.i18nmessageid-5.1.1/tox.ini
new/zope.i18nmessageid-6.0.1/tox.ini
--- old/zope.i18nmessageid-5.1.1/tox.ini 2022-11-17 15:11:56.000000000
+0100
+++ new/zope.i18nmessageid-6.0.1/tox.ini 2023-03-24 07:58:02.000000000
+0100
@@ -1,31 +1,30 @@
# Generated from:
# https://github.com/zopefoundation/meta/tree/master/config/c-code
[tox]
-minversion = 3.18
+minversion = 4.0
envlist =
lint
- py27,py27-pure
- py35,py35-pure
- py36,py36-pure
py37,py37-pure
py38,py38-pure
py39,py39-pure
py310,py310-pure
py311,py311-pure
- pypy
+ py312,py312-pure
pypy3
docs
coverage
[testenv]
usedevelop = true
+pip_pre = py312: true
deps =
+ Sphinx
setenv =
pure: PURE_PYTHON=1
- !pure-!pypy-!pypy3: PURE_PYTHON=0
+ !pure-!pypy3: PURE_PYTHON=0
commands =
zope-testrunner --test-path=src {posargs:-vc}
- !py27-!pypy-!pypy3: sphinx-build -b doctest -d {envdir}/.cache/doctrees
docs {envdir}/.cache/doctest
+ sphinx-build -b doctest -d {envdir}/.cache/doctrees docs
{envdir}/.cache/doctest
extras =
test
docs
@@ -61,6 +60,7 @@
[testenv:isort-apply]
basepython = python3
+skip_install = true
commands_pre =
deps =
isort