sogou translate for free
Project description
sogou-tr-free ![PyPI version](https://pypi-camo.freetls.fastly.net/f25c1fe73857996cf6a0bd3f68afa0e8c0b6da27/68747470733a2f2f62616467652e667572792e696f2f70792f736f676f752d74722d667265652e737667)
![License: MIT](https://pypi-camo.freetls.fastly.net/8645b002dd7ec1b54275a80574942e7a318e03c6/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e737667)
![Code style: black](https://pypi-camo.freetls.fastly.net/fbfdc7754183ecf079bc71ddeabaf88f6cbc5c00/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636f64652532307374796c652d626c61636b2d3030303030302e737667)
Sogou translate for free -- local cache, throttling (1.5 calls/s from 1001st call on). Let's hope it lasts.
Update
version 0.0.10: added update_snuid
Installation
pip install -U sogou-tr-free
or
- Install (pip or whatever) necessary requirements, e.g.
pip install requests requests_cache jmespath fuzzywuzzy
orpip install -r requirements.txt
- Drop the file sogou_tr.py in any folder in your PYTHONPATH (check with import sys; print(sys.path)
- or clone the repo (e.g.,
git clone https://github.com/ffreemt/sogou-tr-free.git
or download https://github.com/ffreemt/sogou-tr-free/archive/master.zip and unzip) and change to the sogou-tr-free folder and do apython setup.py develop
Usage
from sogou_tr import sogou_tr
print(sogou_tr('hello world')) # -> '你好世界'
print(sogou_tr('hello world', to_lang='de')) # -> 'Hallo Welt'
print(sogou_tr('hello world', to_lang='fr')) # -> 'Salut tout le monde'
print(sogou_tr('hello world', to_lang='ja')) # ->'ハローワールド'
Speedup
For each request made by sogou_tr
, a vlaid SNUID
is reqired. It takes time to acquire a SNUID, however. On the other hand, the SNUID can be used for a certain time period.
Hence, sogout_tr
has a parameter to control whether to update SNUID or not. The parameter is, well, called update_snuid
. By default, update_snuid=True
. You can turn it off to speed things up:
text = "test 1232"
res = sogou_tr(text, update_snuid=False)
How do we know the SNUID is still valid? sogou_tr will throw an Exception("sogou server likely acting up")
when the SNUID is no longer valid. Therefore, we might do something like this:
from time import sleep
text = "test 1232"
try:
res = sogou_tr(text, update_snuid=False)
except Exception as exc:
if "server likely acting up" in str(exc):
sleep(3)
res = sogou_tr(text, update_snuid=True)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.