7
7
class ListHandler (BaseHandler ):
8
8
@tornado .gen .coroutine
9
9
def get (self ):
10
- query = self .get_argument ('q' , default = 'pairs ' )
10
+ query = self .get_argument ('q' , default = 'all ' )
11
11
12
- if query == 'pairs ' :
12
+ if query == 'all ' :
13
13
src = self .get_argument ('src' , default = None )
14
14
response_data = []
15
15
if src :
@@ -20,7 +20,15 @@ def get(self):
20
20
response_data .append ({'sourceLanguage' : l1 , 'targetLanguage' : l2 })
21
21
if self .get_arguments ('include_deprecated_codes' ):
22
22
response_data .append ({'sourceLanguage' : to_alpha2_code (l1 ), 'targetLanguage' : to_alpha2_code (l2 )})
23
- self .send_response ({'responseData' : response_data , 'responseDetails' : None , 'responseStatus' : 200 })
23
+ response = {
24
+ 'responseData' : response_data ,
25
+ 'generators' : {pair : modename for (pair , (path , modename )) in self .generators .items ()},
26
+ 'taggers' : {pair : modename for (pair , (path , modename )) in self .taggers .items ()},
27
+ 'spellers' : {lang_src : modename for (lang_src , (path , modename )) in self .spellers .items ()},
28
+ 'responseDetails' : None ,
29
+ 'responseStatus' : 200
30
+ }
31
+ self .send_response (response )
24
32
elif query == 'analyzers' or query == 'analysers' :
25
33
self .send_response ({pair : modename for (pair , (path , modename )) in self .analyzers .items ()})
26
34
elif query == 'generators' :
@@ -31,3 +39,18 @@ def get(self):
31
39
self .send_response ({lang_src : modename for (lang_src , (path , modename )) in self .spellers .items ()})
32
40
else :
33
41
self .send_error (400 , explanation = 'Expecting q argument to be one of analysers, generators, spellers, disambiguators, or pairs' )
42
+
43
+ class ListPairHandler (BaseHandler ):
44
+ @tornado .gen .coroutine
45
+ def get (self ):
46
+ src = self .get_argument ('src' , default = None )
47
+ response_data = []
48
+ if src :
49
+ pairs = [(src , trg ) for trg in self .paths [src ]]
50
+ else :
51
+ pairs = [(p [0 ], p [1 ]) for par in self .pairs for p in [par .split ('-' )]]
52
+ for (l1 , l2 ) in pairs :
53
+ response_data .append ({'sourceLanguage' : l1 , 'targetLanguage' : l2 })
54
+ if self .get_arguments ('include_deprecated_codes' ):
55
+ response_data .append ({'sourceLanguage' : to_alpha2_code (l1 ), 'targetLanguage' : to_alpha2_code (l2 )})
56
+ self .send_response ({'responseData' : response_data , 'responseDetails' : None , 'responseStatus' : 200 })
0 commit comments