Skip to main content

The last dictionary framework you need. (?)

Project description

issues travis coveralls pypi-dm

license

Join the chat at https://gitter.im/zdict/zdict

Note: This project is working in progress.

zdict is a CLI dictionay framework mainly focus on any kind of online dictionary. This project originly forked from https://github.com/chenpc/ydict, which is a CLI tool for the Yahoo! online dictionary. After heavily refactoring the original project including:

  1. Change from Python 2 to Python 3

  2. Focus on being a flexible framework for any kind online dicitionaries, not only just a CLI tool for querying Yahoo! online dictionay.

  3. Based on an open source project skeleton.

So, we decided to create a new project.

Installation

from PyPi :

pip install zdict

from GitHub :

pip install git+https://github.com/zdict/zdict.git

from Docker Hub :

# Pull image from Docker Hub
docker pull zdict/zdict

# Run interactive mode
docker run -it --rm zdict/zdict

# Run normal mode
docker run -it --rm zdict/zdict apple bird

Usage

usage: zdict [-h] [-v] [-d] [-t QUERY_TIMEOUT] [-j [JOBS]] [-sp] [-su]
             [-dt jisho,yahoo,urban,moe,spanish,all] [-ld] [-V] [-c]
             [--dump [PATTERN]] [-D]
             [word [word ...]]

positional arguments:
  word                  Words for searching its translation

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         show program's version number and exit
  -d, --disable-db-cache
                        Temporarily not using the result from db cache. (still
                        save the result into db)
  -t QUERY_TIMEOUT, --query-timeout QUERY_TIMEOUT
                        Set timeout for every query. default is 5 seconds.
  -j [JOBS], --jobs [JOBS]
                        Allow N jobs at once. Do not pass any argument to use
                        the number of CPUs in the system.
  -sp, --show-provider  Show the dictionary provider of the queried word
  -su, --show-url       Show the url of the queried word
  -dt jisho,yahoo,urban,moe,spanish,all, --dict jisho,yahoo,urban,moe,spanish,all
                        Must be seperated by comma and no spaces after each
                        comma. Choose the dictionary you want. (default:
                        yahoo) Use 'all' for qureying all dictionaries. If
                        'all' or more than 1 dictionaries been chosen, --show-
                        provider will be set to True in order to provide more
                        understandable output.
  -ld, --list-dicts     Show currently supported dictionaries.
  -V, --verbose         Show more information for the queried word. (If the
                        chosen dictionary have implemented verbose related
                        functions)
  -c, --force-color     Force color printing (zdict automatically disable
                        color printing when output is not a tty, use this
                        option to force color printing)
  --dump [PATTERN]      Dump the querying history, can be filtered with regex
  -D, --debug           Print raw html prettified by BeautifulSoup for
                        debugging.

Screenshots

Yahoo Dictionary

  • Normal Mode

zdict hello

http://i.imgur.com/iFTysUz.png
  • Interactive Mode

zdict

http://i.imgur.com/NtbWXKH.png

Moe Dictionary 萌典

http://i.imgur.com/FZD4HBS.png http://i.imgur.com/tF2S98h.png

Urban Dictionary

http://i.imgur.com/KndSJqz.png http://i.imgur.com/nh62wi1.png

SpanishDict

http://i.imgur.com/Ld2QVvP.png http://i.imgur.com/HJ9h5JO.png

Jisho Japanese Dictionary

http://i.imgur.com/63n3qmH.png http://i.imgur.com/UMP8k4e.png

Development & Contributing

Testing

During development, you can install our project as editable. If you use virtualenv, you may want to create a new enviroment for zdict:

$ git clone https://github.com/zdict/zdict.git
$ cd zdict
$ pip install -e .

Once you installed it with the command above, just execute zdict after modification. Don’t need to install it again.

We use py.test:

$ pip install pytest pytest-cov coverage
$ python setup.py test

or:

$ py.test

After runing testing, we will get a coverage report in html. We can browse around it:

$ cd htmlcov
$ python -m http.server

Also, there is some configs for py.test in setup.cfg. Change it if you need.

Debugging

py.test can prompt pdb shell when your test case failed:

$ python setup.py test -a "--pdb"

or:

$ py.test --pdb

Bug Report

Feel free to send a bug report to https://github.com/zdict/zdict/issues. Please attach the error message and describe how to reproduce the bug. PR is also welcome.

Please use the -d/--disable-db-cache option to query before sending the bug report. Sometimes we modify the data schema in database for a dictionary, but the default dictionary query of zdict uses the cache in the database which may be stored within an old schema. This might cause an error while showing the result. Just use the -d/--disable-db-cache to update the cache in database.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zdict-0.9.7.tar.gz (19.7 kB view details)

Uploaded Source

File details

Details for the file zdict-0.9.7.tar.gz.

File metadata

  • Download URL: zdict-0.9.7.tar.gz
  • Upload date:
  • Size: 19.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for zdict-0.9.7.tar.gz
Algorithm Hash digest
SHA256 e2d8fbec055759e034b19a506fcb4404b1d9d3a7bd99bfb63b813fce3acf90c9
MD5 c0ed2bb72b22287b641a426158b0d16e
BLAKE2b-256 e291e3e2fb27253ab554ab6fae43f2126e4ec53a4df6d947b93c43e811f86de3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page