summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-01-18 03:07:06 -0600
committerJeff Carr <[email protected]>2025-01-18 03:07:06 -0600
commitedfe36358a27df6856509dab5cb875b534c69c8d (patch)
tree352c98fa87c6b59a080d1602f018ee9aca760568
parent89d034c3101c0ac2192b3c1278d78cebff889543 (diff)
parentef537830309b310a59650500e158d5b4a9b3902d (diff)
Merge branch 'jcarr' of gitea.wit.com:jcarr/wit-utils into jcarr
-rw-r--r--.gitignore1
-rw-r--r--Makefile3
-rw-r--r--blobby/Makefile28
-rw-r--r--blobby/main.go58
-rw-r--r--cf-r2/Makefile30
-rw-r--r--cf-r2/download.go8
6 files changed, 124 insertions, 4 deletions
diff --git a/.gitignore b/.gitignore
index b243d3e..c98bfb7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,6 +14,7 @@ go-clone-test/go-clone-test
go-clone-test/goclonetest
go-clone-test/goclonetesttest
going2git/going2git
+blobby/blobby
cf-r2/cf-r2
cf-r2/download
cf-r2/upload
diff --git a/Makefile b/Makefile
index 50dd036..205dc6e 100644
--- a/Makefile
+++ b/Makefile
@@ -4,3 +4,6 @@ all:
make -C zoopb-example
make -C testGui
make -C going2git # actually builds against git2go using libgit2 v1.8.4
+
+clean:
+ rm -f go.*
diff --git a/blobby/Makefile b/blobby/Makefile
new file mode 100644
index 0000000..07bcba5
--- /dev/null
+++ b/blobby/Makefile
@@ -0,0 +1,28 @@
+VERSION = $(shell git describe --tags)
+GUIVERSION = $(shell git describe --tags)
+BUILDTIME = $(shell date +%s)
+
+all: build
+
+build: goimports
+ GO111MODULE=off go build -v \
+ -ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}"
+
+vet:
+ GO111MODULE=off go vet
+
+goimports:
+ goimports -w *.go
+ # // to globally reset paths:
+ # // gofmt -w -r '"go.wit.com/gui/gadgets" -> "go.wit.com/lib/gadgets"' *.go
+
+gocui: build
+ reset
+ ./go-clone-test --gui gocui
+
+install: goimports
+ GO111MODULE=off go install \
+ -ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}"
+
+force: build
+ ./go-clone-test --force
diff --git a/blobby/main.go b/blobby/main.go
new file mode 100644
index 0000000..fda762b
--- /dev/null
+++ b/blobby/main.go
@@ -0,0 +1,58 @@
+package main
+
+import (
+ "gocloud.dev/blob"
+ // _ "gocloud.dev/blob/<driver>"
+
+ _ "github.com/go-sql-driver/mysql"
+
+ "context"
+ "fmt"
+
+ _ "gocloud.dev/blob/mysql"
+)
+
+func main() {
+ bucket, err := blob.OpenBucket(context.Background(), "<driver-url>")
+ if err != nil {
+ return fmt.Errorf("could not open bucket: %v", err)
+ }
+ defer bucket.Close()
+ // bucket is a *blob.Bucket; see usage below
+
+ // You can wrap a *blob.Bucket to always operate on a subfolder of the bucket using blob.PrefixedBucket:
+
+ // import "gocloud.dev/blob"
+
+ // Wrap the bucket using blob.PrefixedBucket.
+ // The prefix should end with "/", so that the resulting bucket operates
+ // in a subfolder.
+ bucket = blob.PrefixedBucket(bucket, "a/subfolder/")
+
+ // The original bucket is no longer usable; it has been closed.
+ // The wrapped bucket should be closed when done.
+ defer bucket.Close()
+
+ // Bucket operations on <key> will be translated to "a/subfolder/<key>".
+
+ // Alternatively, you can configure the prefix directly in the blob.OpenBucket URL:
+
+ /*
+ import (
+ "context"
+ "gocloud.dev/blob"
+ )
+ */
+
+ // Connect to a bucket using a URL, using the "prefix" query parameter to
+ // target a subfolder in the bucket.
+ // The prefix should end with "/", so that the resulting bucket operates
+ // in a subfolder.
+ b, err := blob.OpenBucket(ctx, "mem://?prefix=a/subfolder/")
+ if err != nil {
+ return err
+ }
+ defer b.Close()
+
+ // Bucket operations on <key> will be translated to "a/subfolder/<key>".
+}
diff --git a/cf-r2/Makefile b/cf-r2/Makefile
new file mode 100644
index 0000000..2b57a99
--- /dev/null
+++ b/cf-r2/Makefile
@@ -0,0 +1,30 @@
+VERSION = $(shell git describe --tags)
+GUIVERSION = $(shell git describe --tags)
+BUILDTIME = $(shell date +%s)
+
+all: build
+
+build: goimports go.mod
+ go build -v upload.go
+ go build -v download.go
+ go build -v main.go
+
+raw:
+ GO111MODULE=off go build -v \
+ -ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}"
+
+vet:
+ GO111MODULE=off go vet
+
+goimports:
+ goimports -w *.go
+ # // to globally reset paths:
+ # // gofmt -w -r '"go.wit.com/gui/gadgets" -> "go.wit.com/lib/gadgets"' *.go
+
+go.mod:
+ go mod init
+ go mod tidy
+
+clean:
+ rm -f go.*
+ rm -f upload download main
diff --git a/cf-r2/download.go b/cf-r2/download.go
index b2f4184..887ac99 100644
--- a/cf-r2/download.go
+++ b/cf-r2/download.go
@@ -10,10 +10,10 @@ import (
)
const (
- r2Endpoint = "<account-id>.r2.cloudflarestorage.com" // Replace with your R2 endpoint
- r2AccessKey = "<your-access-key>" // Replace with your Access Key
- r2SecretKey = "<your-secret-key>" // Replace with your Secret Key
- r2BucketName = "example-bucket" // Replace with your bucket name
+ r2Endpoint = "<account-id>.r2.cloudflarestorage.com" // Replace with your R2 endpoint
+ r2AccessKey = "<your-access-key>" // Replace with your Access Key
+ r2SecretKey = "<your-secret-key>" // Replace with your Secret Key
+ r2BucketName = "example-bucket" // Replace with your bucket name
)
func main() {