Hello community,
here is the log from the commit of package python-pyenchant for
openSUSE:Factory checked in at 2020-06-11 14:37:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pyenchant (Old)
and /work/SRC/openSUSE:Factory/.python-pyenchant.new.3606 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pyenchant"
Thu Jun 11 14:37:39 2020 rev:18 rq:810504 version:3.1.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pyenchant/python-pyenchant.changes
2020-05-28 09:08:54.083962361 +0200
+++
/work/SRC/openSUSE:Factory/.python-pyenchant.new.3606/python-pyenchant.changes
2020-06-11 14:37:46.648102766 +0200
@@ -1,0 +2,10 @@
+Sun May 31 18:31:14 UTC 2020 - Matej Cepl <[email protected]>
+
+- Update to version 3.1.1:
+ - On Windows, set PATH instead of calling SetDllDirectory
+ before loading the Enchant C library. This allows PyEnchant to
+ co-exist with other libraries in the same program. Fix
+ gh#pyenchant/pyenchant#207.
+ - Hopefully fix gh#pyenchant/pyenchant#203 as well.
+
+-------------------------------------------------------------------
Old:
----
pyenchant-3.1.0.tar.gz
New:
----
pyenchant-3.1.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pyenchant.spec ++++++
--- /var/tmp/diff_new_pack.l6XxFx/_old 2020-06-11 14:37:47.144104184 +0200
+++ /var/tmp/diff_new_pack.l6XxFx/_new 2020-06-11 14:37:47.144104184 +0200
@@ -19,7 +19,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
Name: python-pyenchant
-Version: 3.1.0
+Version: 3.1.1
Release: 0
Summary: Python bindings for the Enchant spellchecking system
License: LGPL-2.1-or-later
@@ -66,8 +66,7 @@
%check
export LANG=en_US.UTF-8
%python_exec -c 'import enchant; print(vars(enchant.Dict()))'
-# gh#pyenchant/pyenchant#203
-%pytest -k 'not test_docstrings'
+%pytest
%files %{python_files}
%license LICENSE.txt
++++++ pyenchant-3.1.0.tar.gz -> pyenchant-3.1.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyenchant-3.1.0/enchant/__init__.py
new/pyenchant-3.1.1/enchant/__init__.py
--- old/pyenchant-3.1.0/enchant/__init__.py 2020-05-20 11:13:39.000000000
+0200
+++ new/pyenchant-3.1.1/enchant/__init__.py 2020-05-31 17:56:21.000000000
+0200
@@ -72,7 +72,7 @@
"""
_DOC_ERRORS = ["enchnt", "enchnt", "incant", "fr"]
-__version__ = "3.1.0"
+__version__ = "3.1.1"
import os
import warnings
@@ -282,7 +282,8 @@
self._check_this()
new_dict = _e.broker_request_dict(self._this, tag.encode())
if new_dict is None:
- e_str = "Dictionary for language '%s' could not be found"
+ e_str = "Dictionary for language '%s' could not be found\n"
+ e_str += "Please check https://pyenchant.github.io/pyenchant/ for
details"
self._raise_error(e_str % (tag,), DictNotFoundError)
if new_dict not in self._live_dicts:
self._live_dicts[new_dict] = 1
@@ -906,6 +907,8 @@
"""
return _e.set_prefix_dir(path)
+ set_prefix_dir._DOC_ERRORS = ["plugins"]
+
def get_user_config_dir():
"""Return the path that will be used by some
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyenchant-3.1.0/enchant/_enchant.py
new/pyenchant-3.1.1/enchant/_enchant.py
--- old/pyenchant-3.1.0/enchant/_enchant.py 2020-05-20 11:13:39.000000000
+0200
+++ new/pyenchant-3.1.1/enchant/_enchant.py 2020-05-31 17:56:21.000000000
+0200
@@ -68,8 +68,9 @@
# Make sure all the dlls found next to libenchant-2.dll
# (libglib-2.0-0.dll, libgmodule-2.0-0.dll, ...) can be
# used without having to modify %PATH%
- find_message("calling SetDllDirectoryW ", bin_path)
- ctypes.windll.kernel32.SetDllDirectoryW(bin_path)
+ new_path = bin_path + os.pathsep + os.environ["PATH"]
+ find_message("Prepending ", bin_path, " to %PATH%")
+ os.environ["PATH"] = new_path
return enchant_dll_path
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyenchant-3.1.0/setup.cfg
new/pyenchant-3.1.1/setup.cfg
--- old/pyenchant-3.1.0/setup.cfg 2020-05-20 11:13:39.000000000 +0200
+++ new/pyenchant-3.1.1/setup.cfg 2020-05-31 17:56:21.000000000 +0200
@@ -1,6 +1,6 @@
[metadata]
name = pyenchant
-version = 3.1.0
+version = 3.1.1
description = Python bindings for the Enchant spellchecking system
long_description = file: README.rst
author = Dimitri Merejkowsky
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyenchant-3.1.0/tbump.toml
new/pyenchant-3.1.1/tbump.toml
--- old/pyenchant-3.1.0/tbump.toml 2020-05-20 11:13:39.000000000 +0200
+++ new/pyenchant-3.1.1/tbump.toml 2020-05-31 17:56:21.000000000 +0200
@@ -1,5 +1,5 @@
[version]
-current = "3.1.0"
+current = "3.1.1"
regex = '''
(?P<major>\d+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyenchant-3.1.0/tests/test_checker.py
new/pyenchant-3.1.1/tests/test_checker.py
--- old/pyenchant-3.1.0/tests/test_checker.py 2020-05-20 11:13:39.000000000
+0200
+++ new/pyenchant-3.1.1/tests/test_checker.py 2020-05-31 17:56:21.000000000
+0200
@@ -205,11 +205,11 @@
def test_bug2785373():
"""Testcases for bug #2785373."""
- c = SpellChecker(enchant.Dict("en"), "")
+ c = SpellChecker(enchant.Dict("en_US"), "")
c.set_text("So, one dey when I wes 17, I left.")
for err in c:
pass
- c = SpellChecker(enchant.Dict("en"), "")
+ c = SpellChecker(enchant.Dict("en_US"), "")
c.set_text("So, one dey when I wes 17, I left.")
for err in c:
pass
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyenchant-3.1.0/tests/test_dict.py
new/pyenchant-3.1.1/tests/test_dict.py
--- old/pyenchant-3.1.0/tests/test_dict.py 2020-05-20 11:13:39.000000000
+0200
+++ new/pyenchant-3.1.1/tests/test_dict.py 2020-05-31 17:56:21.000000000
+0200
@@ -128,7 +128,7 @@
def test_pickling(en_us_dict):
"""Test that pickling doesn't corrupt internal state."""
- d1 = Dict("en")
+ d1 = Dict("en_US")
assert d1.check("hello")
d2 = pickle.loads(pickle.dumps(d1))
assert d1.check("hello")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyenchant-3.1.0/tests/test_docstrings.py
new/pyenchant-3.1.1/tests/test_docstrings.py
--- old/pyenchant-3.1.0/tests/test_docstrings.py 2020-05-20
11:13:39.000000000 +0200
+++ new/pyenchant-3.1.1/tests/test_docstrings.py 2020-05-31
17:56:21.000000000 +0200
@@ -111,7 +111,7 @@
if hasattr(obj, "__doc__"):
skip_errors = [w for w in getattr(obj, "_DOC_ERRORS", [])]
chkr = enchant.checker.SpellChecker(
- "en", obj.__doc__, filters=[enchant.tokenize.URLFilter]
+ "en_US", obj.__doc__, filters=[enchant.tokenize.URLFilter]
)
for err in chkr:
if len(err.word) == 1:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyenchant-3.1.0/website/content/changelog.rst
new/pyenchant-3.1.1/website/content/changelog.rst
--- old/pyenchant-3.1.0/website/content/changelog.rst 2020-05-20
11:13:39.000000000 +0200
+++ new/pyenchant-3.1.1/website/content/changelog.rst 2020-05-31
17:56:21.000000000 +0200
@@ -1,9 +1,17 @@
Changelog
=========
-3.0.2
-------
+3.1.1 (2020-05-31)
+------------------
+* On Windows, set PATH instead of calling ``SetDllDirectory`` before loading
the
+ Enchant C library. This allows PyEnchant to co-exist with other libraries
+ in the same program. Fix #207.
+
+3.1.0 (2020-05-20)
+-------------------
+
+* Add ``enchant.get_user_config_dir()``
* Fix: ``enchant.get_enchant_version()`` now returns a ``str``, not some
``bytes``
3.0.1 (2020-03-01)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyenchant-3.1.0/website/content/install.rst
new/pyenchant-3.1.1/website/content/install.rst
--- old/pyenchant-3.1.0/website/content/install.rst 2020-05-20
11:13:39.000000000 +0200
+++ new/pyenchant-3.1.1/website/content/install.rst 2020-05-31
17:56:21.000000000 +0200
@@ -9,11 +9,18 @@
You can install it with ``pip`` as usual.
-However, PyEnchant needs to find the Enchant C library in order to work
properly. The way to
-achieve this depends on the platform you are using:
+However, to work properly, PyEnchant needs to:
+
+* find the Enchant C library
+* find the dictionaries for your particular language
+
+The way to achieve this depends on the platform you are using:
+
+Installing the Enchant C library
+--------------------------------
On Linux
---------
+++++++++
The quickest way is to install `libenchant` using the package manager of
your current distribution. PyEnchant tries to be compatible with a large
@@ -29,7 +36,7 @@
might not bring along `binutils` by default.
On macOS
---------
+++++++++
The quickest way is to install `libenchant` using `Homebrew
<https://brew.sh/>`_:
@@ -39,7 +46,7 @@
brew install enchant
On Windows
-----------
++++++++++++
The `enchant` C library depends on `glib2`, which poses some interesting
challenges.
@@ -47,7 +54,7 @@
both with their pros and cons.
Using the binary wheel
-+++++++++++++++++++++++
+~~~~~~~~~~~~~~~~~~~~~~~
The Windows binary wheels on *pypi.org* contain a pre-compiled `enchant`
library,
if your Python version is compatible, it will get used by `pip` automatically.
@@ -63,7 +70,7 @@
* A copy of the `glib2.dll` and other dependencies are included
Using MinGW
-+++++++++++
+~~~~~~~~~~~
An other way to use `pyenchant` is to install MinGW (for instance
with `Chocolatey <https://chocolatey.org/>`_), then use `pacman` to install
@@ -88,6 +95,38 @@
so typically *not* the one you've installed from `python.org`.
+Installing a dictionary
+------------------------
+
+Let's assume you want to use PyEnchant on a text written in German.
+
+First, use the Enchant Python API to list known languages and providers::
+
+ import enchant
+ broker = enchant.Broker()
+ broker.describe()
+ broker.list_languages()
+
+
+If ``enchant.list_languages()`` shows ``de_DE``, you're done and can move on
to the
+tutorial section.
+
+If not, you should install the dictionary for one of the listed providers.
+
+So for instance, if the ``hunspell`` is listed as a Enchant provider, you
+should install the German dictionary for the ``hunspell`` provider.
+
+On **Linux** and **macOS**, this can be done by installing the ``hunspell-de``
+package.
+
+On **Windows**, if you have installed PyEnchant from a
+wheel, you can download the hunspell dictionary files you need
+(both the `.dic` and `.aff` extensions) and put them inside
+``/path/to/enchant/data/mingw<bits>/enchant/share/hunspell``. You
+can find many dictionaries in `LibreOffice sources
+<https://cgit.freedesktop.org/libreoffice/dictionaries/tree/>`_.
+
+
Troubleshooting
---------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyenchant-3.1.0/website/content/tutorial.rst
new/pyenchant-3.1.1/website/content/tutorial.rst
--- old/pyenchant-3.1.0/website/content/tutorial.rst 2020-05-20
11:13:39.000000000 +0200
+++ new/pyenchant-3.1.1/website/content/tutorial.rst 2020-05-31
17:56:21.000000000 +0200
@@ -71,24 +71,6 @@
* store_replacement: note that one word was used to replace another,
meaning that it will appear higher in the list of suggestions in the future.
-Adding support for more languages
-+++++++++++++++++++++++++++++++++
-
-Let's assume you want to use PyEnchant on a text written in German.
-
-Let's also assume that ``enchant.list_languages()`` dose not show the language
tag you are interested in ``de_DE`` is this case.
-
-First, you should use the ``describe()`` method of the ``Broker`` class to
list available providers.
-
-Let's say ``aspell`` is found in the list. Now you have to install the correct
dictionary for the aspell provider.
-On **Linux** and **macOS**, this can be done by installing the ``aspell-de``
packgae using your favorite package manager.
-
-On **Windows**, if you have installed PyEnchant from a wheel, you can download
the hunspell dictionary files you
-need (both the `.dic` and `.aff` extensions) and put them inside
``/path/to/site-packages/enchant/data/mingw<bits>/enchant/share/hunspell``.
-
-You can find many dictionaries in `libreoffice sources
<https://cgit.freedesktop.org/libreoffice/dictionaries/tree/>`_.
-
-
Personal Word Lists
++++++++++++++++++++