Merge branch 'jcarr' of gitea.wit.com:jcarr/wit-utils into jcarr

This commit is contained in:
Jeff Carr 2025-01-18 03:07:06 -06:00
commit edfe36358a
6 changed files with 124 additions and 4 deletions

1
.gitignore vendored
View File

@ -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

View File

@ -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.*

28
blobby/Makefile Normal file
View File

@ -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

58
blobby/main.go Normal file
View File

@ -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>".
}

30
cf-r2/Makefile Normal file
View File

@ -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

View File

@ -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() {