Changeset 3 in code for trunk/main.go
- Timestamp:
- Dec 13, 2022, 3:10:11 AM (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/main.go
r2 r3 1 1 // Yet another command-line client for SimplyTranslate 2 // All Rites Reversed (ĸ) 3188 Aoi Koizumi, Czar of KST, mutefall, shokara 2 // All Rites Reversed (ĸ) 3188 Aoi Koizumi, Czar of KST, mutefall, shokara, Baobab 3 3 4 4 package main 5 5 6 6 import ( 7 "encoding/json" 8 "flag" 7 9 "fmt" 8 "flag"9 10 "io" 10 11 "log" … … 15 16 var ( 16 17 instanceURL string 17 engine string18 fromLang string19 toLang string20 text string18 engine string 19 fromLang string 20 toLang string 21 text string 21 22 ) 22 23 24 type TranslateAPI struct { 25 OutText string `json:"translated-text"` 26 } 27 23 28 func init() { 24 // Point flags to variables25 29 flag.StringVar(&instanceURL, "i", "https://translate.bus-hit.me/api/translate/", "Instance for SimplyTranslate (default: https://translate.bus-hit.me)") 26 30 flag.StringVar(&engine, "e", "google", "Translation engine (default: google)") … … 30 34 } 31 35 func main() { 32 // Start parsing33 36 flag.Parse() 34 37 35 // I assume this works?36 38 if len(text) == 0 { 37 39 log.Printf("Text to translate is required. \n") … … 41 43 os.Exit(1) 42 44 } 43 44 // Hand-craft the request URL45 queryURL := instanceURL + "?engine=" + engine + "&from=" + fromLang + "&to=" + toLang + "&text=" + text46 45 47 // Make a request to said URL 48 resp, err1 := http.Get(queryURL) 46 var queryURL = instanceURL + "?engine=" + engine + "&from=" + fromLang + "&to=" + toLang + "&text=" + text 47 48 req, err1 := http.Get(queryURL) 49 var o TranslateAPI 50 49 51 if err1 != nil { 50 log.Printf(" Request could not be processed due to%s\n", err1)52 log.Printf("Couldn't process request %s\n", err1) 51 53 } 52 53 defer resp.Body.Close()54 54 55 56 output, err2 := io.ReadAll(resp.Body)55 defer req.Body.Close() 56 resp, err2 := io.ReadAll(req.Body) 57 57 58 58 if err2 != nil { 59 panic(errno)59 log.Printf("Couldn't process response %s\n", err2) 60 60 } 61 61 62 // Well... 63 fmt.Printf("Input: %s \n", text) 64 fmt.Printf("Output: %s \n", output) 62 _ = json.Unmarshal([]byte(resp), &o) 63 64 fmt.Printf("Input: %s (%s)\n",text,fromLang) 65 fmt.Printf("Output: %s (%s)\n",o.OutText,toLang) 65 66 }
Note:
See TracChangeset
for help on using the changeset viewer.