11 Commits

Author SHA1 Message Date
dependabot[bot]
27a6c26b6b Bump github.com/stretchr/testify from 1.9.0 to 1.10.0
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.9.0...v1.10.0)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-version: 1.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-25 20:43:53 +00:00
be963c7c54 Be specific about version 2025-04-25 17:24:13 +09:30
661e676fd2 Fix version passing 2025-04-25 17:10:59 +09:30
08b56d1c77 Update version 2025-04-25 16:50:42 +09:30
2c42204f90 Version from goreleaser 2025-04-25 16:48:36 +09:30
dc31122c05 Bump version 2025-04-25 11:56:47 +09:30
08d73d72e1 Fix goreleaser config 2025-04-25 11:56:38 +09:30
b559f15eb1 New goreleaser config and docker setup (with arm64) 2025-04-25 11:44:59 +09:30
d864a8c486 Do some de-linting, but disable for now in goreleaser 2025-04-25 11:13:48 +09:30
0655700d15 Upgrade dependencies 2025-04-25 11:04:12 +09:30
4cff36e54f Update .gitignore 2025-04-25 11:00:57 +09:30
11 changed files with 56 additions and 29 deletions

1
.gitignore vendored
View File

@@ -3,3 +3,4 @@ release
dist
.env
dist/
.DS_Store

View File

@@ -1,8 +1,9 @@
version: 2
before:
hooks:
- go mod tidy
- go test ./...
- golangci-lint run
builds:
- env:
@@ -13,11 +14,11 @@ builds:
- darwin
archives:
- format: tar.gz
- formats: [tar.gz]
# this name template makes the OS and Arch compatible with the results of `uname`.
name_template: >-
{{ .ProjectName }}_
{{- .Os }}_
{{- title .Os }}_
{{- if eq .Arch "amd64" }}x86_64
{{- else if eq .Arch "386" }}i386
{{- else }}{{ .Arch }}{{ end }}
@@ -25,16 +26,28 @@ archives:
# use zip for windows archives
format_overrides:
- goos: windows
format: zip
formats: [zip]
changelog:
skip: true
disable: true
dockers:
- image_templates:
- "tardisx/gropple:{{ .Tag }}"
- "tardisx/gropple:v{{ .Major }}"
- "tardisx/gropple:v{{ .Major }}.{{ .Minor }}"
- "tardisx/gropple:latest"
- "tardisx/gropple:{{ .Tag }}-amd64"
use: buildx
build_flag_templates:
- "--pull"
- "--platform=linux/amd64"
- image_templates:
- "tardisx/gropple:{{ .Tag }}-arm64"
use: buildx
build_flag_templates:
- "--pull"
- "--platform=linux/arm64"
goarch: arm64
docker_manifests:
- name_template: "tardisx/gropple:{{ .Tag }}"
image_templates:
- "tardisx/gropple:{{ .Tag }}-amd64"
- "tardisx/gropple:{{ .Tag }}-arm64"

View File

@@ -2,6 +2,12 @@
All notable changes to this project will be documented in this file.
## [v1.1.4] - 2025-04-25
- Minor refactorings, upgrade dependencies
- Migrate to goreleaser v2 configuration
- Generate arm64 docker builds
## [v1.1.3] - 2024-03-17
- Code cleanups, better error checking

View File

@@ -1,4 +1,4 @@
FROM ubuntu:mantic
FROM ubuntu:noble
COPY gropple /
RUN apt update && apt install -y curl python3 ffmpeg

View File

@@ -266,14 +266,14 @@ func (cs *ConfigService) LoadConfig() error {
path := cs.ConfigPath
b, err := os.ReadFile(path)
if err != nil {
return fmt.Errorf("Could not read config '%s': %v", path, err)
return fmt.Errorf("could not read config '%s': %v", path, err)
}
c := Config{}
cs.Config = &c
err = yaml.Unmarshal(b, &c)
if err != nil {
return fmt.Errorf("Could not parse YAML config '%s': %v", path, err)
return fmt.Errorf("could not parse YAML config '%s': %v", path, err)
}
// do migrations

View File

@@ -2,7 +2,7 @@ version: "3.9"
services:
gropple:
image: tardisx/gropple:latest
image: tardisx/gropple:v1.1.4
volumes:
- /tmp/gropple-config-dir/:/config
- /tmp/downloads/:/downloads/

View File

@@ -277,7 +277,7 @@ func (dl *Download) Begin() {
}
// only add the url if it's not empty or an example URL. This helps us with testing
if !(dl.Url == "" || strings.Contains(dl.domain(), "example.org")) {
if dl.Url != "" && !strings.Contains(dl.domain(), "example.org") {
cmdSlice = append(cmdSlice, dl.Url)
}

8
go.mod
View File

@@ -1,11 +1,13 @@
module github.com/tardisx/gropple
go 1.22
go 1.23.0
toolchain go1.24.1
require (
github.com/gorilla/mux v1.8.1
github.com/stretchr/testify v1.9.0
golang.org/x/mod v0.16.0
github.com/stretchr/testify v1.10.0
golang.org/x/mod v0.24.0
gopkg.in/yaml.v2 v2.4.0
)

8
go.sum
View File

@@ -4,10 +4,10 @@ github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY=
github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
golang.org/x/mod v0.16.0 h1:QX4fJ0Rr5cPQCF7O9lh9Se4pmwfwskqZfq5moyldzic=
golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU=
golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=

11
main.go
View File

@@ -9,13 +9,18 @@ import (
"github.com/tardisx/gropple/config"
"github.com/tardisx/gropple/download"
"github.com/tardisx/gropple/version"
v "github.com/tardisx/gropple/version"
"github.com/tardisx/gropple/web"
)
var (
version = "dev"
)
func main() {
versionInfo := &version.Manager{
VersionInfo: version.Info{CurrentVersion: "v1.1.3"},
versionInfo := &v.Manager{
// version from goreleaser has no leading 'v', even if the tag does
VersionInfo: v.Info{CurrentVersion: "v" + version},
}
log.Printf("Starting gropple %s - https://github.com/tardisx/gropple", versionInfo.GetInfo().CurrentVersion)

View File

@@ -416,7 +416,7 @@ func fetchHandler(cs *config.ConfigService, vm *version.Manager, dm *download.Ma
if !present {
w.WriteHeader(400)
fmt.Fprint(w, "No url supplied")
_, _ = fmt.Fprint(w, "No url supplied")
return
}
@@ -447,7 +447,8 @@ func bulkHandler(cs *config.ConfigService, vm *version.Manager, dm *download.Man
log.Printf("bulkHandler")
method := r.Method
if method == "GET" {
switch method {
case "GET":
t, err := template.ParseFS(webFS, "data/templates/layout.tmpl", "data/templates/menu.tmpl", "data/templates/bulk.tmpl")
if err != nil {
@@ -467,8 +468,7 @@ func bulkHandler(cs *config.ConfigService, vm *version.Manager, dm *download.Man
}
return
} else if method == "POST" {
case "POST":
type reqBulkType struct {
URLs string `json:"urls"`
ProfileChosen string `json:"profile"`