Changeset 32 in code for trunk/cmd/root.go
- Timestamp:
- May 14, 2025, 9:55:50 PM (3 weeks ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/cmd/root.go
r31 r32 1 1 /* 2 2 Copyright © 2025 Izuru Yakumo <eternal-servant@yakumo.dev> 3 4 3 */ 5 4 package cmd … … 38 37 Args: cobra.MinimumNArgs(1), 39 38 Run: func(cmd *cobra.Command, args []string) { 40 _split := fmt.Sprint(args) 41 text := fmt.Sprint(strings.Trim(_split, "[]")) 42 if len(output) == 0 { 43 log.Fatalf("\033[1;31m%s\033[0m\n", "No target language") 44 } 39 text_to_split := fmt.Sprint(args) 40 text := fmt.Sprint(strings.Trim(text_to_split, "[]")) 45 41 var translate Translate 46 42 encInput := url.PathEscape(text) 47 43 queryURL := conf.endpoint + "/api/translate" + "?engine=" + conf.engine + "&from=" + input + "&to=" + output + "&text=" + encInput 48 44 resp, err := http.Get(queryURL) 49 CheckErr(err)45 cobra.CheckErr(err) 50 46 defer resp.Body.Close() 51 47 52 48 _ = json.NewDecoder(resp.Body).Decode(&translate) 53 CheckErr(err)49 cobra.CheckErr(err) 54 50 if len(translate.Output) == 0 { 55 51 log.Fatalf("\033[1;31m%s\033[0m\n", "There was no output, maybe the endpoint is down?") … … 58 54 } 59 55 }, 60 Version: "3.0.0", 61 } 62 func CheckErr(err error) { 63 if err != nil { 64 log.Fatal(err) 65 } 56 Version: "3.0.1", 66 57 } 67 58 func Execute() { … … 71 62 } 72 63 } 73 74 64 func init() { 75 65 cobra.OnInitialize(initConfig) 76 rootCmd.PersistentFlags().StringVar (&cfgFile, "config", "", "config file (default is $XDG_CONFIG_HOME/suwako.ini)")77 rootCmd.PersistentFlags().StringVarP(&input, "from", "f", "auto", "language to translate from (default is auto)")66 rootCmd.PersistentFlags().StringVarP(&cfgFile, "config", "c", "", "config file (default is $XDG_CONFIG_HOME/suwako.ini)") 67 rootCmd.PersistentFlags().StringVarP(&input, "from", "f", "auto", "language to translate from") 78 68 rootCmd.PersistentFlags().StringVarP(&output, "to", "t", "", "target language") 79 69 } 80 70 func parseConfig(file string) error { 81 71 cfg, err := ini.Load(file) 82 CheckErr(err)72 cobra.CheckErr(err) 83 73 84 74 conf.endpoint = cfg.Section("suwako").Key("endpoint").String() … … 92 82 93 83 } else { 94 // Find home directory. 95 xdg, err := os.UserConfigDir() 96 CheckErr(err) 97 defaultCfgPath := xdg + "/suwako.ini" 84 xdg_config_home, err := os.UserConfigDir() 85 cobra.CheckErr(err) 86 defaultCfgPath := xdg_config_home + "/suwako.ini" 98 87 parseConfig(defaultCfgPath) 99 88 }
Note:
See TracChangeset
for help on using the changeset viewer.