Files
old-nlp/venv/lib/python3.7/site-packages/googletrans/__pycache__/gtoken.cpython-37.pyc

95 lines
5.2 KiB
Plaintext
Raw Normal View History

2019-10-20 13:16:49 +02:00
B
Z'<27>]-<00>@s`ddlZddlZddlZddlZddlZddlmZddlmZddlm Z Gdd<06>de
<EFBFBD>Z dS)<07>N)<01>PY3)<01>unicode)<01>rshiftc@s^eZdZdZe<04>dej<06>Ze<04>dej<06>Zddd<07>Z dd <09>Z
d
d <0B>Z d d <0A>Z dd<0F>Z dd<11>ZdS)<13> TokenAcquirera<72>Google Translate API token generator
translate.google.com uses a token to authorize the requests. If you are
not Google, you do have this token and will have to pay for use.
This class is the result of reverse engineering on the obfuscated and
minified code used by Google to generate such token.
The token is based on a seed which is updated once per hour and on the
text that will be translated.
Both are combined - by some strange math - in order to generate a final
token (e.g. 744915.856682) which is used by the API to validate the
request.
This operation will cause an additional request to get an initial
token from translate.google.com.
Example usage:
>>> from googletrans.gtoken import TokenAcquirer
>>> acquirer = TokenAcquirer()
>>> text = 'test'
>>> tk = acquirer.do(text)
>>> tk
950629.577246
z tkk:\'(.+?)\'<27>0N<30>translate.google.comcCs.|p
t<00><01>|_||_d|kr |nd||_dS)N<>httpzhttps://)<05>requests<74>Session<6F>session<6F>tkk<6B>host)<04>selfr r r <00>r<00>;/tmp/pip-install-irokppfq/googletrans/googletrans/gtoken.py<70>__init__,szTokenAcquirer.__init__cCs>t<00>tt<03><03>d<00>d<00>}|jr<t|j<04>d<03>d<00>|kr<dS|j<06>|j<08>}|j <09>
|j <0B>}|rl|<03> d<06>|_dSt |j <09>
|j <0B><01> d<06><01><01>dd<08>}tr<>|<04><10><00>d <09>}n
|<04>d
<EFBFBD>}|<04>r:t<12>|<04>}d }d }dtddd <0A>}} <09>x"t<12>|<05>D<00>]}
t|
tj<17><02>r^|
jdj} | | k<06>r<>t|
jtj<1B><02>r*|
jj| | <n2t|
jtj<1D><02>r<>t|
jjtj<1F><02>r<>|
jj j | | <q<>t|
tj!<21><02>rrd}q<>|<06>r<>t|
tj<1B><02>r<>|
j}q<>|r<>|dkr<>t|
tj"<22><02>r<>q<EFBFBD>t|
tj#<23><02>r<>d}q<>t|
tj$<24><02>r<>d}q<>t|
tj%<25><02>r<>d}q<>t|
tj&<26>r<>d}q<>Wt'd<13>(|| d| d<00>dd<16>} t)| tid<17><01>} d<18>(|| <0A>}||_dS)zupdate tkk
i<>g@wKA<4B>.rN<>zvar <20>zunicode-escapeZ string_escapeF<65>+)<02>a<>bT<62>-<2D>*z**<2A>^z {1}{0}{2}rr<00>eval)<01> __builtin__z{}.{})*<2A>math<74>floor<6F>int<6E>timer <00>splitr <00>getr <00>RE_TKK<4B>search<63>text<78>groupr<00>replacer<00>encode<64>decode<64>ast<73>parse<73>dict<63>walk<6C>
isinstanceZAssign<67>targets<74>id<69>value<75>Num<75>nZUnaryOp<4F>opZUSubZoperandZReturnZAddZSubZMultZPowZBitXor<6F>compile<6C>formatr)r<00>now<6F>rZraw_tkk<6B>code<64>treeZ visit_return<72>operatorr3<00>keys<79>node<64>nameZclauser1<00>resultrrr<00>_update1s\  

 
   zTokenAcquirer._updatecs <00>fdd<02>S)a<>like lazy evalution, this method returns a lambda function that
returns value given.
We won't be needing this because this seems to have been built for
code obfuscation.
the original code of this method is as follows:
... code-block: javascript
var ek = function(a) {
return function() {
return a;
};
}
cs<00>S)Nrr)r1rr<00><lambda><3E><00>z%TokenAcquirer._lazy.<locals>.<lambda>r)rr1r)r1r<00>_lazyqszTokenAcquirer._lazycCs<>t|<02>}d}x<>||dkr<>||d}d|kr>t|d<00>dnt|<05>}d||dkr`t||<05>n||>}d||kr<>||d@n||A}|d7}qW|S) Nr<00>r<00>Wrrl<00><EFBFBD><00>)<04>len<65>ordrr)rrrZsize_b<5F>c<>drrr<00>_xr<78>s  "  zTokenAcquirer._xrc Cs@g}xX|D]P}t|<03>}|dkr*||g7}q
|t<01>|ddd<00>t<01>|ddd<00>g7}q
W|jdkrn|jnd}|<05>d<07>}t|<06>dkr<>t|d <00>nd }g}d }t|<01>} <09>x|| k<00>r<>||}
|
d
kr<>|<07>|
<EFBFBD>n<>|
d kr<>|<07>|
d ?d B<00>n<>|
d@dk<02>rn|d| k<00>rn||dd@dk<02>rn|d7}d|
d@d>||d@}
|<07>|
d?dB<00>|<07>|
d?d@d
B<00>n|<07>|
d?dB<00>|<07>|
d ?d@d
B<00>|<07>|
d@d
B<00>|d7}q<>W|}x*t|<07>D]\}} || 7}|<00> |d<16>}<02>q<>W|<00> |d<17>}|t|<06>dk<04>r t|d<00>nd N}|d k<00>r(|d@d}|d;}d<1B>
|||A<00>S)Niii<00>i<00>rrrrr<00><>i<00><00><>i<00>i<><00>
<00><00><><00> <00>?<00><>z+-a^+6z +-3^+b+-fi<66><69><EFBFBD>li@Bz{}.{}) rHrrr r!rGr<00>append<6E> enumeraterKr6) rr%r<00>i<>valrrJ<00>e<>g<>size<7A>lr1rrr<00>acquire<72>sP
 
   "
 zTokenAcquirer.acquirecCs|<00><00>|<00>|<01>}|S)N)r@r])rr%Ztkrrr<00>do<64>s
zTokenAcquirer.do)rNr)<0F>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__doc__<5F>rer5<00>DOTALLr#Z RE_RAWTKKrr@rCrKr]r^rrrrrs
@ 8r) r*rrcr r Zgoogletrans.compatrrZgoogletrans.utilsr<00>objectrrrrr<00><module>s