package main import ( "database/sql" "flag" "fmt" "log" "os" _ "github.com/mattn/go-sqlite3" "github.com/playwright-community/playwright-go" "github.com/urfave/cli/v2" ) var version = "v1.0.0" /* TODO - browser - install - library - platform */ func main() { NewDatabase("gadl.db") flags := []cli.Flag{ &cli.StringFlag{ Name: "db", Usage: "database file path", Value: "gadl.db", }, } app := &cli.App{ Name: "gadl", Usage: "Manga Downloader", Version: version, Flags: flags, Commands: cli.Commands{ &cli.Command{ Name: "download", Flags: flags, Action: func(ctx *cli.Context) error { fmt.Println(ctx.String("db")) return nil }, }, }, } if err := app.Run(os.Args); err != nil { log.Fatal(err) } } func _main() { name := flag.String("name", "world", "name") flag.Parse() fmt.Printf("Hello, %s!\n", *name) db, err := sql.Open("sqlite3", "gadl.db") if err != nil { log.Fatal(err) } defer db.Close() rows, err := db.Query("select id from books") if err != nil { log.Fatal(err) } defer rows.Close() for rows.Next() { var id int if err = rows.Scan(&id); err != nil { log.Fatal(err) } fmt.Println(id) } pw, err := playwright.Run() if err != nil { log.Fatal(err) } browser, err := pw.Chromium.Launch(playwright.BrowserTypeLaunchOptions{Headless: playwright.Bool(false)}) if err != nil { log.Fatal(err) } page, err := browser.NewPage() if err != nil { log.Fatal(err) } if _, err = page.Goto("https://news.ycombinator.com"); err != nil { log.Fatal(err) } if err = browser.Close(); err != nil { log.Fatal(err) } if err = pw.Stop(); err != nil { log.Fatal(err) } }