Changeset 26 in code
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 -
trunk/go.mod
r23 r26 5 5 require ( 6 6 github.com/integrii/flaggy v1.5.2 7 g ithub.com/joho/godotenv v1.5.17 gopkg.in/ini.v1 v1.67.0 8 8 ) 9 10 require github.com/stretchr/testify v1.8.4 // indirect -
trunk/go.sum
r23 r26 1 github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= 1 2 github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= 2 3 github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= 3 4 github.com/integrii/flaggy v1.5.2 h1:bWV20MQEngo4hWhno3i5Z9ISPxLPKj9NOGNwTWb/8IQ= 4 5 github.com/integrii/flaggy v1.5.2/go.mod h1:dO13u7SYuhk910nayCJ+s1DeAAGC1THCMj1uSFmwtQ8= 5 github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= 6 github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= 6 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= 7 github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= 8 github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= 7 9 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= 10 gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= 11 gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= 12 gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -
trunk/suwako.1
r24 r26 18 18 .Sh CONFIGURATION 19 19 .Nm 20 takes two variables, those being21 .Ev SUWAKO_INSTANCE20 takes two keys, those being 21 .Ev instance 22 22 and 23 .Ev SUWAKO_ENGINE23 .Ev engine 24 24 .Pp 25 25 Both must be filled and placed … … 37 37 .Sh AUTHORS 38 38 .An Izuru Yakumo Aq Mt yakumo.izuru@chaotic.ninja 39 .Sh BUGS 40 You cannot translate the string "version", this is 41 a direct consequence of using flaggy.
Note:
See TracChangeset
for help on using the changeset viewer.