Changeset 26 in code for trunk/cmd/suwako/main.go


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

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

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

File:
1 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
Note: See TracChangeset for help on using the changeset viewer.