package main import ( "log" "os" _ "github.com/mattn/go-sqlite3" "github.com/urfave/cli/v2" ) var version = "v1.0.0" /* TODO - library - platform */ func main() { newDatabase("gadl.db") flags := []cli.Flag{ &cli.StringFlag{ Name: "db", Usage: "database file path", Value: "gadl.db", }, &cli.StringFlag{ Name: "platform", Usage: "platform type", Value: "dmm-books", }, } app := &cli.App{ Name: "gadl", Usage: "Manga Downloader", Version: version, Flags: flags, Commands: cli.Commands{ &cli.Command{ Name: "install", Flags: flags, Action: func(c *cli.Context) error { return install() }, }, &cli.Command{ Name: "login", Flags: flags, Action: func(c *cli.Context) error { db := newDatabase(c.String("db")) browser := runBrowser(runOptions{db: db, headless: false}) platform := c.String("platform") _, err := browser.loadBrowserContext(platform) if err != nil { log.Fatal(err) } return browser.stop() }, }, &cli.Command{ Name: "download", Flags: flags, Action: func(c *cli.Context) error { newDatabase(c.String("db")) return nil }, }, }, } if err := app.Run(os.Args); err != nil { log.Fatal(err) } }