-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathTinyGrammarService.ol
36 lines (31 loc) · 1013 Bytes
/
TinyGrammarService.ol
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
include "console.iol"
include "json_utils.iol"
include "exec.iol"
include "TinyGrammarInterfaces.iol"
execution { concurrent }
outputPort GoogleTranslate {
Location: "socket://translate.googleapis.com:443/translate_a/single"
Protocol: https {
.osc.translate.alias = "?client=gtx&sl=it&tl=%{tolang}&dt=t&q=%{q}";
.osc.translate.method = "get"
}
RequestResponse: translate
}
inputPort TinyGrammarService {
Location: "socket://localhost:8080"
Protocol: http
Interfaces: TinyGrammarInterface
}
main
{
translate( request )( response ){
tinyRequest = "dotnet.exe ./TinyGrammar/NetCore/MB.TinyGrammar.NetCoreConsoleApp.dll ./TinyGrammar/tecnicheseGrammarExample.txt";
tinyRequest.stdOutConsoleEnable = false;
exec@Exec( tinyRequest )( tecnichese );
translate@GoogleTranslate( { .q = tecnichese, .tolang = request.language } )( resp_gtran );
response.sentence = tecnichese;
for( line in resp_gtran._._ ) {
response.translated += line._
}
}
}