80 lines
1.3 KiB
Go
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)
|
|
}
|
|
}
|