gadl/main.go
2023-12-14 23:56:42 +09:00

80 lines
1.3 KiB
Go

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)
}
}