Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using CyHunspell instead of PyHunspell which is not maintained #84

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ en vigueur][tweet-texte-plus-ancien], etc.

## Installation

legi.py a besoin de [`libarchive`][libarchive] et [`hunspell`][hunspell]. L'installation de ces dépendances varie selon le système d'exploitation :
legi.py a besoin de [`libarchive`][libarchive] et d'un dictionnaire français au format d'[`hunspell`][hunspell]. L'installation de ces dépendances varie selon le système d'exploitation :

- Arch Linux : `pacman -S --needed libarchive hunspell hunspell-fr`
- Arch Linux : `pacman -S --needed libarchive hunspell-fr`
- Mac OS X : la version de `libarchive` inclue dans Mac OS X est obsolète, vous pouvez utiliser [Homebrew](https://brew.sh/) pour installer une version récente en exécutant `brew install libarchive`, puis indiquer au module Python qu'il doit utiliser cette version en ajoutant une variable d'environnement : `export LIBARCHIVE="$(find "$(brew --cellar libarchive)" -name libarchive.13.dylib | sort | tail -1)"` (cette commande peut être ajoutée au fichier d'initialisation de votre shell, typiquement `~/.bashrc` ou `~/.zshrc`)
- Ubuntu : `sudo apt-get install libarchive13 hunspell hunspell-fr libhunspell-dev`
- Ubuntu : `sudo apt-get install libarchive13 hunspell-fr`

Une fois ces dépendances système installées, vous pouvez cloner le dépôt et utiliser `pip` pour installer les modules python nécessaires :

Expand Down
8 changes: 4 additions & 4 deletions legi/spelling.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,10 @@ def __init__(self, lang, filters=(), intra_word_chars=INTRA_WORD_CHARS):
import hunspell
except ImportError:
raise SpellcheckingIsUnavailable("the hunspell module is missing")
paths = self._find_hunspell_files()
if not paths:
path = self._find_hunspell_files()
if not path:
raise SpellcheckingIsUnavailable("the hunspell files for lang %r are missing" % lang)
self.dict = hunspell.HunSpell(*paths)
self.dict = hunspell.Hunspell(path)
self.filters = filters
self.intra_word_chars = set(intra_word_chars)

Expand All @@ -44,7 +44,7 @@ def _find_hunspell_files(self):
aff_path = os.path.join(base_dir, lang + '.aff')
dic_path = os.path.join(base_dir, lang + '.dic')
if os.path.exists(aff_path) and os.path.exists(dic_path):
return dic_path, aff_path
return os.path.join(base_dir, lang)

def check(self, text):
"""Looks for misspelled words in `text`.
Expand Down
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
appdirs
hunspell
cyhunspell
libarchive-c
lxml
requests
Expand Down