source: code/trunk/main.go@ 2

Last change on this file since 2 was 2, checked in by koizumi.aoi, 2 years ago

Achieved some more progress

Signed-off-by: Aoi K <koizumi.aoi@…>

File size: 1.5 KB
Line 
1// Yet another command-line client for SimplyTranslate
2// All Rites Reversed (ĸ) 3188 Aoi Koizumi, Czar of KST, mutefall, shokara
3
4package main
5
6import (
7 "fmt"
8 "flag"
9 "io"
10 "log"
11 "net/http"
12 "os"
13)
14
15var (
16 instanceURL string
17 engine string
18 fromLang string
19 toLang string
20 text string
21)
22
23func init() {
24 // Point flags to variables
25 flag.StringVar(&instanceURL, "i", "https://translate.bus-hit.me/api/translate/", "Instance for SimplyTranslate (default: https://translate.bus-hit.me)")
26 flag.StringVar(&engine, "e", "google", "Translation engine (default: google)")
27 flag.StringVar(&fromLang, "f", "auto", "Source language (default: auto)")
28 flag.StringVar(&toLang, "t", "", "Target language (default: unset)")
29 flag.StringVar(&text, "T", "", "Text to translate (default: unset)")
30}
31func main() {
32 // Start parsing
33 flag.Parse()
34
35 // I assume this works?
36 if len(text) == 0 {
37 log.Printf("Text to translate is required. \n")
38 os.Exit(1)
39 } else if len(toLang) == 0 {
40 log.Printf("Target language is missing. \n")
41 os.Exit(1)
42 }
43
44 // Hand-craft the request URL
45 queryURL := instanceURL + "?engine=" + engine + "&from=" + fromLang + "&to=" + toLang + "&text=" + text
46
47 // Make a request to said URL
48 resp, err1 := http.Get(queryURL)
49 if err1 != nil {
50 log.Printf("Request could not be processed due to %s\n", err1)
51 }
52
53 defer resp.Body.Close()
54
55
56 output, err2 := io.ReadAll(resp.Body)
57
58 if err2 != nil {
59 panic(errno)
60 }
61
62 // Well...
63 fmt.Printf("Input: %s \n", text)
64 fmt.Printf("Output: %s \n", output)
65}
Note: See TracBrowser for help on using the repository browser.