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 2024-01-05 22:59:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-zope.i18nmessageid (Old)
and /work/SRC/openSUSE:Factory/.python-zope.i18nmessageid.new.28375 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-zope.i18nmessageid"
Fri Jan 5 22:59:12 2024 rev:17 rq:1136297 version:6.1.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-zope.i18nmessageid/python-zope.i18nmessageid.changes
2023-07-27 16:50:11.801606863 +0200
+++
/work/SRC/openSUSE:Factory/.python-zope.i18nmessageid.new.28375/python-zope.i18nmessageid.changes
2024-01-05 22:59:15.097533887 +0100
@@ -1,0 +2,6 @@
+Tue Jan 2 21:42:05 UTC 2024 - Dirk Müller <[email protected]>
+
+- update to 6.1.0:
+ * Add support for Python 3.12.
+
+-------------------------------------------------------------------
Old:
----
zope.i18nmessageid-6.0.1.tar.gz
New:
----
zope.i18nmessageid-6.1.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-zope.i18nmessageid.spec ++++++
--- /var/tmp/diff_new_pack.hivYAx/_old 2024-01-05 22:59:16.185573754 +0100
+++ /var/tmp/diff_new_pack.hivYAx/_new 2024-01-05 22:59:16.185573754 +0100
@@ -1,7 +1,7 @@
#
# spec file
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2013-2022 LISA GmbH, Bingen, Germany.
#
# All modifications and additions to the file contributed by third parties
@@ -27,15 +27,17 @@
%endif
%{?sle15_python_module_pythons}
Name: python-zope.i18nmessageid%{psuffix}
-Version: 6.0.1
+Version: 6.1.0
Release: 0
Summary: Zope Location
License: ZPL-2.1
URL: https://github.com/zopefoundation/zope.i18nmessageid
Source:
https://files.pythonhosted.org/packages/source/z/zope.i18nmessageid/zope.i18nmessageid-%{version}.tar.gz
BuildRequires: %{python_module devel}
+BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools}
+BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
# SECTION documentation requirements
@@ -64,13 +66,13 @@
%build
%if !%{with test}
-%python_build
+%pyproject_wheel
sphinx-build -b html docs build/sphinx/html && rm -r
build/sphinx/html/.{buildinfo,doctrees} build/sphinx/html/objects.inv
%endif
%install
%if !%{with test}
-%python_install
+%pyproject_install
# don't bother with development files
%{python_expand rm -f
%{buildroot}%{$python_sitearch}/zope/i18nmessageid/_zope_i18nmessageid_message.c
%fdupes %{buildroot}%{$python_sitearch}
@@ -88,7 +90,7 @@
%doc CHANGES.rst COPYRIGHT.txt README.rst
%dir %{python_sitearch}/zope
%{python_sitearch}/zope/i18nmessageid
-%{python_sitearch}/zope.i18nmessageid-%{version}*-info
+%{python_sitearch}/zope.i18nmessageid-%{version}.dist-info
%{python_sitearch}/zope.i18nmessageid-%{version}*-nspkg.pth
%endif
++++++ zope.i18nmessageid-6.0.1.tar.gz -> zope.i18nmessageid-6.1.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.i18nmessageid-6.0.1/.manylinux-install.sh
new/zope.i18nmessageid-6.1.0/.manylinux-install.sh
--- old/zope.i18nmessageid-6.0.1/.manylinux-install.sh 2023-03-24
07:58:02.000000000 +0100
+++ new/zope.i18nmessageid-6.1.0/.manylinux-install.sh 2023-10-05
13:19:39.000000000 +0200
@@ -28,12 +28,12 @@
tox_env_map() {
case $1 in
- *"cp312"*) echo 'py312';;
*"cp37"*) echo 'py37';;
*"cp38"*) echo 'py38';;
*"cp39"*) echo 'py39';;
*"cp310"*) echo 'py310';;
*"cp311"*) echo 'py311';;
+ *"cp312"*) echo 'py312';;
*) echo 'py';;
esac
}
@@ -41,19 +41,14 @@
# Compile wheels
for PYBIN in /opt/python/*/bin; do
if \
- [[ "${PYBIN}" == *"cp312"* ]] || \
[[ "${PYBIN}" == *"cp311"* ]] || \
+ [[ "${PYBIN}" == *"cp312"* ]] || \
[[ "${PYBIN}" == *"cp37"* ]] || \
[[ "${PYBIN}" == *"cp38"* ]] || \
[[ "${PYBIN}" == *"cp39"* ]] || \
[[ "${PYBIN}" == *"cp310"* ]] ; then
- 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
+ "${PYBIN}/pip" install -e /io/
+ "${PYBIN}/pip" wheel /io/ -w wheelhouse/
if [ `uname -m` == 'aarch64' ]; then
cd /io/
${PYBIN}/pip install tox
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.i18nmessageid-6.0.1/.readthedocs.yaml
new/zope.i18nmessageid-6.1.0/.readthedocs.yaml
--- old/zope.i18nmessageid-6.0.1/.readthedocs.yaml 1970-01-01
01:00:00.000000000 +0100
+++ new/zope.i18nmessageid-6.1.0/.readthedocs.yaml 2023-10-05
13:19:39.000000000 +0200
@@ -0,0 +1,25 @@
+# Generated from:
+# https://github.com/zopefoundation/meta/tree/master/config/c-code
+# Read the Docs configuration file
+# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
+
+# Required
+version: 2
+
+# Set the version of Python and other tools you might need
+build:
+ os: ubuntu-22.04
+ tools:
+ python: "3.11"
+
+# Build documentation in the docs/ directory with Sphinx
+sphinx:
+ configuration: docs/conf.py
+
+# We recommend specifying your dependencies to enable reproducible builds:
+# https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
+python:
+ install:
+ - requirements: docs/requirements.txt
+ - method: pip
+ path: .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.i18nmessageid-6.0.1/CHANGES.rst
new/zope.i18nmessageid-6.1.0/CHANGES.rst
--- old/zope.i18nmessageid-6.0.1/CHANGES.rst 2023-03-24 07:58:02.000000000
+0100
+++ new/zope.i18nmessageid-6.1.0/CHANGES.rst 2023-10-05 13:36:23.000000000
+0200
@@ -2,6 +2,12 @@
Changes
=========
+6.1.0 (2023-10-05)
+==================
+
+- Add support for Python 3.12.
+
+
6.0.1 (2023-03-24)
==================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.i18nmessageid-6.0.1/MANIFEST.in
new/zope.i18nmessageid-6.1.0/MANIFEST.in
--- old/zope.i18nmessageid-6.0.1/MANIFEST.in 2023-03-24 07:58:02.000000000
+0100
+++ new/zope.i18nmessageid-6.1.0/MANIFEST.in 2023-10-05 13:19:39.000000000
+0200
@@ -14,5 +14,6 @@
recursive-include docs Makefile
recursive-include src *.py
+include *.yaml
include *.sh
recursive-include docs *.bat
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.i18nmessageid-6.0.1/PKG-INFO
new/zope.i18nmessageid-6.1.0/PKG-INFO
--- old/zope.i18nmessageid-6.0.1/PKG-INFO 2023-03-24 07:58:03.586184700
+0100
+++ new/zope.i18nmessageid-6.1.0/PKG-INFO 2023-10-05 14:02:43.680762500
+0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: zope.i18nmessageid
-Version: 6.0.1
+Version: 6.1.0
Summary: Message Identifiers for internationalization
Home-page: https://github.com/zopefoundation/zope.i18nmessageid
Author: Zope Foundation and Contributors
@@ -18,6 +18,7 @@
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
+Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Natural Language :: English
@@ -25,10 +26,17 @@
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Framework :: Zope :: 3
Requires-Python: >=3.7
+License-File: LICENSE.txt
+Requires-Dist: setuptools
Provides-Extra: testing
+Requires-Dist: zope.testrunner; extra == "testing"
+Requires-Dist: coverage; extra == "testing"
Provides-Extra: test
+Requires-Dist: zope.testrunner; extra == "test"
+Requires-Dist: coverage; extra == "test"
Provides-Extra: docs
-License-File: LICENSE.txt
+Requires-Dist: Sphinx; extra == "docs"
+Requires-Dist: sphinx_rtd_theme; extra == "docs"
``zope.i18nmessageid``
======================
@@ -74,6 +82,12 @@
Changes
=========
+6.1.0 (2023-10-05)
+==================
+
+- Add support for Python 3.12.
+
+
6.0.1 (2023-03-24)
==================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.i18nmessageid-6.0.1/appveyor.yml
new/zope.i18nmessageid-6.1.0/appveyor.yml
--- old/zope.i18nmessageid-6.0.1/appveyor.yml 2023-03-24 07:58:02.000000000
+0100
+++ new/zope.i18nmessageid-6.1.0/appveyor.yml 2023-10-05 13:19:39.000000000
+0200
@@ -14,9 +14,7 @@
- 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
+ - python: 312-x64
install:
- "SET PYTHONVERSION=%PYTHON%"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zope.i18nmessageid-6.0.1/docs/_build/doctest/output.txt
new/zope.i18nmessageid-6.1.0/docs/_build/doctest/output.txt
--- old/zope.i18nmessageid-6.0.1/docs/_build/doctest/output.txt 1970-01-01
01:00:00.000000000 +0100
+++ new/zope.i18nmessageid-6.1.0/docs/_build/doctest/output.txt 2023-10-05
12:57:07.000000000 +0200
@@ -0,0 +1,17 @@
+Results of doctest builder run on 2023-10-05 12:57:07
+=====================================================
+
+Document: narr
+--------------
+1 items passed all tests:
+ 35 tests in default
+35 tests in 1 items.
+35 passed and 0 failed.
+Test passed.
+
+Doctest summary
+===============
+ 35 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-6.0.1/docs/_build/html/_sources/api.rst.txt
new/zope.i18nmessageid-6.1.0/docs/_build/html/_sources/api.rst.txt
--- old/zope.i18nmessageid-6.0.1/docs/_build/html/_sources/api.rst.txt
1970-01-01 01:00:00.000000000 +0100
+++ new/zope.i18nmessageid-6.1.0/docs/_build/html/_sources/api.rst.txt
2022-11-03 15:37:34.000000000 +0100
@@ -0,0 +1,11 @@
+: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-6.0.1/docs/_build/html/_sources/hacking.rst.txt
new/zope.i18nmessageid-6.1.0/docs/_build/html/_sources/hacking.rst.txt
--- old/zope.i18nmessageid-6.0.1/docs/_build/html/_sources/hacking.rst.txt
1970-01-01 01:00:00.000000000 +0100
+++ new/zope.i18nmessageid-6.1.0/docs/_build/html/_sources/hacking.rst.txt
2022-11-03 15:37:34.000000000 +0100
@@ -0,0 +1,300 @@
+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-6.0.1/docs/_build/html/_sources/index.rst.txt
new/zope.i18nmessageid-6.1.0/docs/_build/html/_sources/index.rst.txt
--- old/zope.i18nmessageid-6.0.1/docs/_build/html/_sources/index.rst.txt
1970-01-01 01:00:00.000000000 +0100
+++ new/zope.i18nmessageid-6.1.0/docs/_build/html/_sources/index.rst.txt
2022-11-03 15:37:34.000000000 +0100
@@ -0,0 +1,21 @@
+: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-6.0.1/docs/_build/html/_sources/narr.rst.txt
new/zope.i18nmessageid-6.1.0/docs/_build/html/_sources/narr.rst.txt
--- old/zope.i18nmessageid-6.0.1/docs/_build/html/_sources/narr.rst.txt
1970-01-01 01:00:00.000000000 +0100
+++ new/zope.i18nmessageid-6.1.0/docs/_build/html/_sources/narr.rst.txt
2023-04-20 10:28:06.000000000 +0200
@@ -0,0 +1,168 @@
+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::
+
+ >>> robot == 'robot-message'
+ True
+ >>> isinstance(robot, str)
+ True
+
+The additional domain, default and mapping information is available
+through attributes:
+
+.. doctest::
+
+ >>> robot.default == '${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 = {'name': 'Bender'}
+ Traceback (most recent call last):
+ ...
+ AttributeError: readonly attribute
+
+If you need to change their information, yo'll have to make a new
+message id object:
+
+.. doctest::
+
+ >>> new_robot = Message(robot, mapping={'name': 'Bender'})
+ >>> new_robot == 'robot-message'
+ True
+ >>> new_robot.domain
+ 'futurama'
+ >>> new_robot.default == '${name} is a robot.'
+ True
+ >>> new_robot.mapping == {'name': 'Bender'}
+ True
+
+Last but not least, messages are reduceable for pickling:
+
+.. doctest::
+
+ >>> callable, args = new_robot.__reduce__()
+ >>> callable is Message
+ True
+ >>> args == ('robot-message',
+ ... 'futurama',
+ ... '${name} is a robot.',
+ ... {'name': 'Bender'},
+ ... None,
+ ... None,
+ ... None)
+ True
+
+ >>> fembot = Message('fembot')
+ >>> callable, args = fembot.__reduce__()
+ >>> callable is Message
+ True
+ >>> args == ('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) == ('robot-message',
+ ... 'futurama',
+ ... '${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-6.0.1/docs/conf.py
new/zope.i18nmessageid-6.1.0/docs/conf.py
--- old/zope.i18nmessageid-6.0.1/docs/conf.py 2023-03-24 07:58:02.000000000
+0100
+++ new/zope.i18nmessageid-6.1.0/docs/conf.py 2023-10-05 13:19:39.000000000
+0200
@@ -91,7 +91,7 @@
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
-html_theme = 'default'
+html_theme = 'sphinx_rtd_theme'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.i18nmessageid-6.0.1/docs/requirements.txt
new/zope.i18nmessageid-6.1.0/docs/requirements.txt
--- old/zope.i18nmessageid-6.0.1/docs/requirements.txt 1970-01-01
01:00:00.000000000 +0100
+++ new/zope.i18nmessageid-6.1.0/docs/requirements.txt 2023-10-05
13:19:39.000000000 +0200
@@ -0,0 +1,3 @@
+Sphinx
+sphinx_rtd_theme>1
+docutils<0.19
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.i18nmessageid-6.0.1/setup.cfg
new/zope.i18nmessageid-6.1.0/setup.cfg
--- old/zope.i18nmessageid-6.0.1/setup.cfg 2023-03-24 07:58:03.586763000
+0100
+++ new/zope.i18nmessageid-6.1.0/setup.cfg 2023-10-05 14:02:43.681088700
+0200
@@ -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, pytz
+known_third_party = 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-6.0.1/setup.py
new/zope.i18nmessageid-6.1.0/setup.py
--- old/zope.i18nmessageid-6.0.1/setup.py 2023-03-24 07:58:02.000000000
+0100
+++ new/zope.i18nmessageid-6.1.0/setup.py 2023-10-05 13:36:33.000000000
+0200
@@ -95,7 +95,7 @@
setup(
name='zope.i18nmessageid',
- version='6.0.1',
+ version='6.1.0',
author='Zope Foundation and Contributors',
author_email='[email protected]',
description='Message Identifiers for internationalization',
@@ -117,6 +117,7 @@
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
+ 'Programming Language :: Python :: 3.12',
'Programming Language :: Python :: Implementation :: CPython',
'Programming Language :: Python :: Implementation :: PyPy',
'Natural Language :: English',
@@ -140,6 +141,6 @@
extras_require={
'testing': tests_require,
'test': tests_require,
- 'docs': ['Sphinx'],
+ 'docs': ['Sphinx', 'sphinx_rtd_theme'],
},
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zope.i18nmessageid-6.0.1/src/zope.i18nmessageid.egg-info/PKG-INFO
new/zope.i18nmessageid-6.1.0/src/zope.i18nmessageid.egg-info/PKG-INFO
--- old/zope.i18nmessageid-6.0.1/src/zope.i18nmessageid.egg-info/PKG-INFO
2023-03-24 07:58:03.000000000 +0100
+++ new/zope.i18nmessageid-6.1.0/src/zope.i18nmessageid.egg-info/PKG-INFO
2023-10-05 14:02:43.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: zope.i18nmessageid
-Version: 6.0.1
+Version: 6.1.0
Summary: Message Identifiers for internationalization
Home-page: https://github.com/zopefoundation/zope.i18nmessageid
Author: Zope Foundation and Contributors
@@ -18,6 +18,7 @@
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
+Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Natural Language :: English
@@ -25,10 +26,17 @@
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Framework :: Zope :: 3
Requires-Python: >=3.7
+License-File: LICENSE.txt
+Requires-Dist: setuptools
Provides-Extra: testing
+Requires-Dist: zope.testrunner; extra == "testing"
+Requires-Dist: coverage; extra == "testing"
Provides-Extra: test
+Requires-Dist: zope.testrunner; extra == "test"
+Requires-Dist: coverage; extra == "test"
Provides-Extra: docs
-License-File: LICENSE.txt
+Requires-Dist: Sphinx; extra == "docs"
+Requires-Dist: sphinx_rtd_theme; extra == "docs"
``zope.i18nmessageid``
======================
@@ -74,6 +82,12 @@
Changes
=========
+6.1.0 (2023-10-05)
+==================
+
+- Add support for Python 3.12.
+
+
6.0.1 (2023-03-24)
==================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zope.i18nmessageid-6.0.1/src/zope.i18nmessageid.egg-info/SOURCES.txt
new/zope.i18nmessageid-6.1.0/src/zope.i18nmessageid.egg-info/SOURCES.txt
--- old/zope.i18nmessageid-6.0.1/src/zope.i18nmessageid.egg-info/SOURCES.txt
2023-03-24 07:58:03.000000000 +0100
+++ new/zope.i18nmessageid-6.1.0/src/zope.i18nmessageid.egg-info/SOURCES.txt
2023-10-05 14:02:43.000000000 +0200
@@ -1,6 +1,7 @@
.coveragerc
.manylinux-install.sh
.manylinux.sh
+.readthedocs.yaml
CHANGES.rst
CONTRIBUTING.md
COPYRIGHT.txt
@@ -19,6 +20,12 @@
docs/index.rst
docs/make.bat
docs/narr.rst
+docs/requirements.txt
+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-6.0.1/src/zope.i18nmessageid.egg-info/requires.txt
new/zope.i18nmessageid-6.1.0/src/zope.i18nmessageid.egg-info/requires.txt
--- old/zope.i18nmessageid-6.0.1/src/zope.i18nmessageid.egg-info/requires.txt
2023-03-24 07:58:03.000000000 +0100
+++ new/zope.i18nmessageid-6.1.0/src/zope.i18nmessageid.egg-info/requires.txt
2023-10-05 14:02:43.000000000 +0200
@@ -2,6 +2,7 @@
[docs]
Sphinx
+sphinx_rtd_theme
[test]
zope.testrunner
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zope.i18nmessageid-6.0.1/tox.ini
new/zope.i18nmessageid-6.1.0/tox.ini
--- old/zope.i18nmessageid-6.0.1/tox.ini 2023-03-24 07:58:02.000000000
+0100
+++ new/zope.i18nmessageid-6.1.0/tox.ini 2023-10-05 13:19:39.000000000
+0200
@@ -16,12 +16,13 @@
[testenv]
usedevelop = true
-pip_pre = py312: true
deps =
- Sphinx
+ py37: urllib3 < 2
setenv =
pure: PURE_PYTHON=1
!pure-!pypy3: PURE_PYTHON=0
+ py312: VIRTUALENV_PIP=23.1.2
+ py312: PIP_REQUIRE_VIRTUALENV=0
commands =
zope-testrunner --test-path=src {posargs:-vc}
sphinx-build -b doctest -d {envdir}/.cache/doctrees docs
{envdir}/.cache/doctest
@@ -35,6 +36,7 @@
mkdir
deps =
coverage
+ py37: urllib3 < 2
setenv =
PURE_PYTHON=1
commands =