gadl/main.go
2023-12-12 21:46:06 +09:00

98 lines
1.7 KiB
Go

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"
"git.fogtype.com/nebel/gadl/db"
)
var version = "v1.0.0"
func main() {
db := db.Database{Name: "a"}
fmt.Println(db.Name)
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)
}
}