From 28fae2c39d2a21279b861448ad90a2eef654c63e Mon Sep 17 00:00:00 2001 From: Christian Nieves Date: Wed, 12 Jul 2023 21:39:47 -0500 Subject: [PATCH] stuff --- WORKSPACE | 8 -- cmd/beornextract/BUILD | 17 +++ {data => cmd/beornextract/data}/BUILD | 0 .../beornextract/data}/Bot.Cards.json | 0 .../beornextract/data}/Export.Cards.json | 0 {data => cmd/beornextract/data}/ringsdb.json | 0 {extract/cmd => cmd/beornextract}/main.go | 0 {extract => cmd/beornextract}/types/BUILD | 2 +- {extract => cmd/beornextract}/types/card.go | 3 + cmd/test/main.go | 113 ++++++++++++++++++ deps.bzl | 18 ++- extract/BUILD | 3 - go.mod | 2 + go.sum | 2 + .../docker-compose.yaml | 0 {extract => sqlgen}/cmd/BUILD | 8 +- 16 files changed, 157 insertions(+), 19 deletions(-) create mode 100644 cmd/beornextract/BUILD rename {data => cmd/beornextract/data}/BUILD (100%) rename {data => cmd/beornextract/data}/Bot.Cards.json (100%) rename {data => cmd/beornextract/data}/Export.Cards.json (100%) rename {data => cmd/beornextract/data}/ringsdb.json (100%) rename {extract/cmd => cmd/beornextract}/main.go (100%) rename {extract => cmd/beornextract}/types/BUILD (71%) rename {extract => cmd/beornextract}/types/card.go (96%) create mode 100644 cmd/test/main.go delete mode 100644 extract/BUILD rename docker-compose.yaml => server/docker-compose.yaml (100%) rename {extract => sqlgen}/cmd/BUILD (66%) diff --git a/WORKSPACE b/WORKSPACE index 0d161d2..2106cc5 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -27,14 +27,6 @@ load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies", "go_repository") # The first declaration of an external repository "wins". ############################################################ -go_repository( - name = "com_github_davecgh_go_spew", - build_file_proto_mode = "disable_global", - importpath = "github.com/davecgh/go-spew", - sum = "h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=", - version = "v1.1.1", -) - load("//:deps.bzl", "go_dependencies") # gazelle:repository_macro deps.bzl%go_dependencies diff --git a/cmd/beornextract/BUILD b/cmd/beornextract/BUILD new file mode 100644 index 0000000..422d681 --- /dev/null +++ b/cmd/beornextract/BUILD @@ -0,0 +1,17 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +package( + default_visibility = ["//visibility:public"], +) + +alias( + name = "beornextract", + actual = "//beornextract/", +) + +go_library( + name = "beornextract_lib", + srcs = ["main.go"], + importpath = "github.com/squk/lotr/beornextract", + deps = ["@com_github_davecgh_go_spew//spew"], +) diff --git a/data/BUILD b/cmd/beornextract/data/BUILD similarity index 100% rename from data/BUILD rename to cmd/beornextract/data/BUILD diff --git a/data/Bot.Cards.json b/cmd/beornextract/data/Bot.Cards.json similarity index 100% rename from data/Bot.Cards.json rename to cmd/beornextract/data/Bot.Cards.json diff --git a/data/Export.Cards.json b/cmd/beornextract/data/Export.Cards.json similarity index 100% rename from data/Export.Cards.json rename to cmd/beornextract/data/Export.Cards.json diff --git a/data/ringsdb.json b/cmd/beornextract/data/ringsdb.json similarity index 100% rename from data/ringsdb.json rename to cmd/beornextract/data/ringsdb.json diff --git a/extract/cmd/main.go b/cmd/beornextract/main.go similarity index 100% rename from extract/cmd/main.go rename to cmd/beornextract/main.go diff --git a/extract/types/BUILD b/cmd/beornextract/types/BUILD similarity index 71% rename from extract/types/BUILD rename to cmd/beornextract/types/BUILD index 38e0032..c8918fe 100644 --- a/extract/types/BUILD +++ b/cmd/beornextract/types/BUILD @@ -3,6 +3,6 @@ load("@io_bazel_rules_go//go:def.bzl", "go_library") go_library( name = "types", srcs = ["card.go"], - importpath = "github.com/squk/lotr/extract/types", + importpath = "github.com/squk/lotr/beornextract/types", visibility = ["//visibility:public"], ) diff --git a/extract/types/card.go b/cmd/beornextract/types/card.go similarity index 96% rename from extract/types/card.go rename to cmd/beornextract/types/card.go index c2ae845..e4db05f 100644 --- a/extract/types/card.go +++ b/cmd/beornextract/types/card.go @@ -28,3 +28,6 @@ type HallOfBeornCard struct { URL string `json:"url"` Imagesrc string `json:"imagesrc"` } + +type NormalizedCard struct { +} diff --git a/cmd/test/main.go b/cmd/test/main.go new file mode 100644 index 0000000..6b7eb08 --- /dev/null +++ b/cmd/test/main.go @@ -0,0 +1,113 @@ +package main + +import ( + "database/sql" + "fmt" + "log" + "os" + + "github.com/davecgh/go-spew/spew" + _ "github.com/mattn/go-sqlite3" +) + +func main() { + spew.Dump(os.Getwd()) + + os.Remove("./foo.db") + + db, err := sql.Open("sqlite3", "./foo.db") + if err != nil { + log.Fatal(err) + } + defer db.Close() + + sqlStmt := ` + create table foo (id integer not null primary key, name text); + delete from foo; + ` + _, err = db.Exec(sqlStmt) + if err != nil { + log.Printf("%q: %s\n", err, sqlStmt) + return + } + + tx, err := db.Begin() + if err != nil { + log.Fatal(err) + } + stmt, err := tx.Prepare("insert into foo(id, name) values(?, ?)") + if err != nil { + log.Fatal(err) + } + defer stmt.Close() + for i := 0; i < 100; i++ { + _, err = stmt.Exec(i, fmt.Sprintf("こんにちは世界%03d", i)) + if err != nil { + log.Fatal(err) + } + } + err = tx.Commit() + if err != nil { + log.Fatal(err) + } + + rows, err := db.Query("select id, name from foo") + if err != nil { + log.Fatal(err) + } + defer rows.Close() + for rows.Next() { + var id int + var name string + err = rows.Scan(&id, &name) + if err != nil { + log.Fatal(err) + } + fmt.Println(id, name) + } + err = rows.Err() + if err != nil { + log.Fatal(err) + } + + stmt, err = db.Prepare("select name from foo where id = ?") + if err != nil { + log.Fatal(err) + } + defer stmt.Close() + var name string + err = stmt.QueryRow("3").Scan(&name) + if err != nil { + log.Fatal(err) + } + fmt.Println(name) + + _, err = db.Exec("delete from foo") + if err != nil { + log.Fatal(err) + } + + _, err = db.Exec("insert into foo(id, name) values(1, 'foo'), (2, 'bar'), (3, 'baz')") + if err != nil { + log.Fatal(err) + } + + rows, err = db.Query("select id, name from foo") + if err != nil { + log.Fatal(err) + } + defer rows.Close() + for rows.Next() { + var id int + var name string + err = rows.Scan(&id, &name) + if err != nil { + log.Fatal(err) + } + fmt.Println(id, name) + } + err = rows.Err() + if err != nil { + log.Fatal(err) + } +} diff --git a/deps.bzl b/deps.bzl index a8edf32..8b69518 100644 --- a/deps.bzl +++ b/deps.bzl @@ -1,2 +1,18 @@ +load("@bazel_gazelle//:deps.bzl", "go_repository") + def go_dependencies(): - pass + go_repository( + name = "com_github_davecgh_go_spew", + build_file_proto_mode = "disable_global", + importpath = "github.com/davecgh/go-spew", + sum = "h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=", + version = "v1.1.1", + ) + + go_repository( + name = "com_github_mattn_go_sqlite3", + build_file_proto_mode = "disable_global", + importpath = "github.com/mattn/go-sqlite3", + sum = "h1:mCRHCLDUBXgpKAqIKsaAaAsrAlbkeomtRFKXh2L6YIM=", + version = "v1.14.17", + ) diff --git a/extract/BUILD b/extract/BUILD deleted file mode 100644 index 67cb1e2..0000000 --- a/extract/BUILD +++ /dev/null @@ -1,3 +0,0 @@ -package( - default_visibility = ["//visibility:public"], -) diff --git a/go.mod b/go.mod index e90d217..1519920 100644 --- a/go.mod +++ b/go.mod @@ -3,3 +3,5 @@ module github.com/squk/lotr go 1.19 require github.com/davecgh/go-spew v1.1.1 + +require github.com/mattn/go-sqlite3 v1.14.17 // indirect diff --git a/go.sum b/go.sum index b5e2922..4a2aa70 100644 --- a/go.sum +++ b/go.sum @@ -1,2 +1,4 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/mattn/go-sqlite3 v1.14.17 h1:mCRHCLDUBXgpKAqIKsaAaAsrAlbkeomtRFKXh2L6YIM= +github.com/mattn/go-sqlite3 v1.14.17/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= diff --git a/docker-compose.yaml b/server/docker-compose.yaml similarity index 100% rename from docker-compose.yaml rename to server/docker-compose.yaml diff --git a/extract/cmd/BUILD b/sqlgen/cmd/BUILD similarity index 66% rename from extract/cmd/BUILD rename to sqlgen/cmd/BUILD index f0445b5..5de4da4 100644 --- a/extract/cmd/BUILD +++ b/sqlgen/cmd/BUILD @@ -3,15 +3,11 @@ load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library") go_library( name = "cmd_lib", srcs = ["main.go"], - data = [ - "//data:Bot.Cards.json", - "//data:Export.Cards.json" - ], - importpath = "github.com/squk/lotr/extract/cmd", + importpath = "github.com/squk/lotr/sqlgen/cmd", visibility = ["//visibility:private"], deps = [ - "//extract/types", "@com_github_davecgh_go_spew//spew", + "@com_github_mattn_go_sqlite3//:go-sqlite3", ], )