好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

python really battery includeded

python really battery includeded

see the http://code.activestate.com/recipes/576890-python-wrapper-for-google-ajax-language-api/

really cool isn't it?

A Python Wrapper for Google AJAX Language API , Uses Google Language Detection, in cases source language is not provided with the source text, Splits up text if it's longer then 4500 characters, as a limit put up by the API . Working fine for me, please let me know if i missed something.

Python , 53 lines

Download

Copy to clipboard

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53

 # -*- coding: utf-8 -*- 

 import   re 
 import   sys 
 import   urllib 
 import   simplejson 

 baseUrl   =   "http://ajax. google  api s.com/ajax/services/ language /translate" 

 def   getSplits  (  text  ,  splitLength  =  4500  ): 
     ''' 
     Translate  Api  has a limit on length of text(4500 characters) that can be translated at once,  
     ''' 
     return   (  text  [  index  :  index  +  splitLength  ]   for   index   in   xrange  (  0  ,  len  (  text  ),  splitLength  )) 


 def   translate  (  text  ,  src  =  ''  ,   to  =  'en'  ): 
     ''' 
     A  Python  Wrapper for  Google  AJAX  Language   API : 
     * Uses  Google   Language  Detection, in cases source  language  is not provided with the source text 
     * Splits up text if it's longer then 4500 characters, as a limit put up by the  API  
     ''' 

     params   =   ({  'langpair'  :   '  %s  |  %s  '   %   (  src  ,   to  ), 
              'v'  :   '1.0' 
              }) 
     retText  =  '' 
     for   text   in   getSplits  (  text  ): 
             params  [  'q'  ]   =   text 
             resp   =   simplejson  .  load  (  urllib  .  urlopen  (  '  %s  '   %   (  baseUrl  ),   data   =   urllib  .  urlencode  (  params  ))) 
             try  : 
                     retText   +=   resp  [  'responseData'  ][  'translatedText'  ] 
             except  : 
                     raise 
     return   retText 


 def   test  (): 
     msg   =   "      Write something You want to be translated to English,  \n  " \
         "      Enter ctrl+c to exit" 
     print   msg 
     while   True  : 
         text   =   raw_input  (  '#>  '  ) 
         retText   =   translate  (  text  ) 
         print   retText 
        

 if   __name__  ==  '__main__'  : 
     try  : 
         test  () 
     except   KeyboardInterrupt  : 
         print   "  \n  " 
         sys  .  exit  (  0  ) 

查看更多关于python really battery includeded的详细内容...

  阅读:53次

上一篇: ajaxform builder

下一篇:Ajax callback in Rails3