Changeset 26 in code for trunk/cmd/suwako/main.go
- Timestamp:
- Oct 26, 2023, 2:13:55 AM (20 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/cmd/suwako/main.go
r23 r26 12 12 13 13 "github.com/integrii/flaggy" 14 "g ithub.com/joho/godotenv"14 "gopkg.in/ini.v1" 15 15 "marisa.chaotic.ninja/suwako" 16 16 ) 17 17 18 var (18 var conf struct { 19 19 engine string 20 20 instance string 21 } 22 23 var ( 21 24 input string 22 25 source string = "auto" … … 34 37 } 35 38 36 func loadCfg() { 39 func iniLoad(file string) error { 40 cfg, err := ini.Load(file) 41 if err != nil { 42 return err 43 } 44 conf.engine = cfg.Section("").Key("engine").String() 45 conf.instance = cfg.Section("").Key("instance").String() 46 47 return nil 48 } 49 50 func flagParse() { 37 51 flaggy.SetName("suwako") 38 52 flaggy.SetDescription("Command line client for SimplyTranslate") … … 43 57 flaggy.AddPositionalValue(&input, "input", 1, true, "Text to translate") 44 58 45 home, err := os.UserHomeDir()46 errCheck(err)47 conf := home + "/.suwako/suwako.conf"48 err = godotenv.Load(conf)49 errCheck(err)50 51 engine = os.Getenv("SUWAKO_ENGINE")52 instance = os.Getenv("SUWAKO_INSTANCE")53 54 59 flaggy.Parse() 55 60 } 56 61 57 62 func main() { 58 // Load configuration and parse flags 59 loadCfg() 63 // Flag parsing 64 flagParse() 65 66 // Load configuration file 67 home, err := os.UserHomeDir() 68 errCheck(err) 69 cfgfile := home + "/.suwako/suwako.conf" 70 iniLoad(cfgfile) 60 71 61 72 // Verify command-line inputs … … 71 82 72 83 // Construct the final path to query 73 var queryURL = instance + "?engine=" +engine + "&from=" + source + "&to=" + target + "&text=" + encInput84 var queryURL = conf.instance + "?engine=" + conf.engine + "&from=" + source + "&to=" + target + "&text=" + encInput 74 85 75 86 // Shoot danmaku to path
Note:
See TracChangeset
for help on using the changeset viewer.