fetch synonyms from various web services
Project description
CLI tool to extract synonyms/antonyms from online services, which formats
them into dict structures (word|alt :: definition; etc.
) suitable for
ding
.
It's fairly basic, and not all result sets are structured alike.
Furthermore the extraction schemes aren't likely to last for long (web
scraping is typically a maintenance task).
Only scans for singular words (most services wouldn't return results
otherwise). And might yield error messages for charset issues as well.
SYNTAX
dingonyms --merriamwebster "find"
Parameter | Aliases | Class |
---|---|---|
--thesaurus | -t --thes | EN |
--merriamwebster | -mw --merr --webster --merweb | EN |
--synonym | -s --syn --synonym.com | EN |
--reverso | --rev // -fr -es -it -pt -nl -ru -jp | EN/** |
--wordhippo | -hippo --wordhip | EN |
--mobythesaurus | -mby --moby | EN |
--urban | -u --urb --ubn | LEXICON |
--dictcc | --en-es --en-it --de-fr --en-pt | DICT |
--openthesaurus | -ot --othes --open | DE |
--woxikon | -wx --woxi | DE |
--synonyme_de | -sd --desyn | DE |
--all | (-t -mw -syn -rev -ot -wx -urban) | MIXED |
--en | (-t -mw -syn -rev) | MIXED |
--de | (-ot -wx -sd) | MIXED |
--no-antonyms | -na | FLAG |
--no-headers | -nh | FLAG |
--async | --parallel --io | FLAG |
Flags can be abbreviated and also combined: --thes --merrweb
would query two
services at once, or --all
even all. While --en
or --de
run through language-
specific functions. (See the man page for more details. There is a man page.)
CONFIG IN ~/.dingrc (take care to change 3
to available index)
set searchmeth(3,name) {Synonyms} set searchmeth(3,type) {3} set searchmeth(3,dictfile) {} set searchmeth(3,separator) { :: } set searchmeth(3,language1) {Group} set searchmeth(3,language2) {Synonyms} set searchmeth(3,grepcmd) {dingonyms} set searchmeth(3,grepopts) {--async --thesaurus --merriamwebster --synonyms} set searchmeth(3,maxlength) {30} set searchmeth(3,maxresults) {200} set searchmeth(3,minlength) {2} set searchmeth(3,shapedresult) {1} set searchmeth(3,foldedresult) {0}
You might want to add one entry for each search backend even. (Unique index, title/name, and grepopts --parameter each.)
SETUP (pip3 install -U dingonyms)
You might have to symlink ~/.local/bin/dingonyms
into ~/bin
after
installation. pip-package binaries are often only picked up in
terminal/interactive shells.
Hijack as module
Obviously this is priamrily a CLI tool, but can be utilized per monkeypatching:
import dingonyms ls = [] dingonyms.out.alternatives = lambda *x: ls.append(x)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.