Changeset 26 in code for trunk


Ignore:
Timestamp:
Oct 26, 2023, 2:13:55 AM (20 months ago)
Author:
yakumo.izuru
Message:

女神がこんなに可愛いわけがない!

Signed-off-by: Izuru Yakumo <yakumo.izuru@…>

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/cmd/suwako/main.go

    r23 r26  
    1212
    1313        "github.com/integrii/flaggy"
    14         "github.com/joho/godotenv"
     14        "gopkg.in/ini.v1"
    1515        "marisa.chaotic.ninja/suwako"
    1616)
    1717
    18 var (
     18var conf struct {
    1919        engine string
    2020        instance string
     21}
     22
     23var (
    2124        input string
    2225        source string = "auto"
     
    3437}
    3538
    36 func loadCfg() {
     39func 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
     50func flagParse() {
    3751        flaggy.SetName("suwako")
    3852        flaggy.SetDescription("Command line client for SimplyTranslate")
     
    4357        flaggy.AddPositionalValue(&input, "input", 1, true, "Text to translate")
    4458
    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 
    5459        flaggy.Parse()
    5560}
    5661
    5762func 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)
    6071
    6172        // Verify command-line inputs
     
    7182
    7283        // Construct the final path to query
    73         var queryURL = instance + "?engine=" + engine + "&from=" + source + "&to=" + target + "&text=" + encInput
     84        var queryURL = conf.instance + "?engine=" + conf.engine + "&from=" + source + "&to=" + target + "&text=" + encInput
    7485
    7586        // Shoot danmaku to path
  • trunk/go.mod

    r23 r26  
    55require (
    66        github.com/integrii/flaggy v1.5.2
    7         github.com/joho/godotenv v1.5.1
     7        gopkg.in/ini.v1 v1.67.0
    88)
     9
     10require github.com/stretchr/testify v1.8.4 // indirect
  • trunk/go.sum

    r23 r26  
     1github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
    12github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ=
    23github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
    34github.com/integrii/flaggy v1.5.2 h1:bWV20MQEngo4hWhno3i5Z9ISPxLPKj9NOGNwTWb/8IQ=
    45github.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=
     6github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
     7github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
     8github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
    79golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
     10gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
     11gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
     12gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
  • trunk/suwako.1

    r24 r26  
    1818.Sh CONFIGURATION
    1919.Nm
    20 takes two variables, those being
    21 .Ev SUWAKO_INSTANCE
     20takes two keys, those being
     21.Ev instance
    2222and
    23 .Ev SUWAKO_ENGINE
     23.Ev engine
    2424.Pp
    2525Both must be filled and placed
     
    3737.Sh AUTHORS
    3838.An Izuru Yakumo Aq Mt yakumo.izuru@chaotic.ninja
     39.Sh BUGS
     40You cannot translate the string "version", this is
     41a direct consequence of using flaggy.
Note: See TracChangeset for help on using the changeset viewer.