From 1e5385c33a298b0b8563fee6704f6bb3ded12d60 Mon Sep 17 00:00:00 2001 From: Stanislav Chzhen Date: Tue, 11 Jul 2023 19:56:29 +0300 Subject: [PATCH] all: upd golibs, imp code --- go.mod | 2 +- go.sum | 4 ++-- scripts/translations/main.go | 32 ++++++++++++++++---------------- scripts/translations/upload.go | 10 ++++------ 4 files changed, 23 insertions(+), 25 deletions(-) diff --git a/go.mod b/go.mod index f10b0887..de8b2ad7 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.19 require ( // TODO(a.garipov): Update to a tagged version when it's released. github.com/AdguardTeam/dnsproxy v0.50.3-0.20230628054307-31e374065768 - github.com/AdguardTeam/golibs v0.13.3 + github.com/AdguardTeam/golibs v0.13.4 github.com/AdguardTeam/urlfilter v0.16.1 github.com/NYTimes/gziphandler v1.1.1 github.com/ameshkov/dnscrypt/v2 v2.2.7 diff --git a/go.sum b/go.sum index e708812c..196b7903 100644 --- a/go.sum +++ b/go.sum @@ -2,8 +2,8 @@ github.com/AdguardTeam/dnsproxy v0.50.3-0.20230628054307-31e374065768 h1:5Ia6wA+ github.com/AdguardTeam/dnsproxy v0.50.3-0.20230628054307-31e374065768/go.mod h1:CQhZTkqC8X0ID6glrtyaxgqRRdiYfn1gJulC1cZ5Dn8= github.com/AdguardTeam/golibs v0.4.0/go.mod h1:skKsDKIBB7kkFflLJBpfGX+G8QFTx0WKUzB6TIgtUj4= github.com/AdguardTeam/golibs v0.10.4/go.mod h1:rSfQRGHIdgfxriDDNgNJ7HmE5zRoURq8R+VdR81Zuzw= -github.com/AdguardTeam/golibs v0.13.3 h1:RT3QbzThtaLiFLkIUDS6/hlGEXrh0zYvdf4bd7UWpGo= -github.com/AdguardTeam/golibs v0.13.3/go.mod h1:wkJ6EUsN4np/9Gp7+9QeooY9E2U2WCLJYAioLCzkHsI= +github.com/AdguardTeam/golibs v0.13.4 h1:ACTwIR1pEENBijHcEWtiMbSh4wWQOlIHRxmUB8oBHf8= +github.com/AdguardTeam/golibs v0.13.4/go.mod h1:wkJ6EUsN4np/9Gp7+9QeooY9E2U2WCLJYAioLCzkHsI= github.com/AdguardTeam/gomitmproxy v0.2.0/go.mod h1:Qdv0Mktnzer5zpdpi5rAwixNJzW2FN91LjKJCkVbYGU= github.com/AdguardTeam/urlfilter v0.16.1 h1:ZPi0rjqo8cQf2FVdzo6cqumNoHZx2KPXj2yZa1A5BBw= github.com/AdguardTeam/urlfilter v0.16.1/go.mod h1:46YZDOV1+qtdRDuhZKVPSSp7JWWes0KayqHrKAFBdEI= diff --git a/scripts/translations/main.go b/scripts/translations/main.go index 8c9aaa99..7abadab7 100644 --- a/scripts/translations/main.go +++ b/scripts/translations/main.go @@ -54,28 +54,28 @@ func main() { usage("") } - twosky, err := readTwoskyConf() + conf, err := readTwoskyConfig() check(err) - var client *twoskyClient + var cli *twoskyClient switch os.Args[1] { case "summary": - err = summary(twosky.Languages) + err = summary(conf.Languages) case "download": - client, err = twosky.toClient() + cli, err = conf.toClient() check(err) - err = client.download() + err = cli.download() case "unused": - err = unused(twosky.LocalizableFiles[0]) + err = unused(conf.LocalizableFiles[0]) case "upload": - client, err = twosky.toClient() + cli, err = conf.toClient() check(err) - err = client.upload() + err = cli.upload() case "auto-add": - err = autoAdd(twosky.LocalizableFiles[0]) + err = autoAdd(conf.LocalizableFiles[0]) default: usage("unknown command") } @@ -120,17 +120,17 @@ Commands: os.Exit(0) } -// twoskyConf is the configuration structure for localization. -type twoskyConf struct { +// twoskyConfig is the configuration structure for localization. +type twoskyConfig struct { Languages languages `json:"languages"` ProjectID string `json:"project_id"` BaseLangcode langCode `json:"base_locale"` LocalizableFiles []string `json:"localizable_files"` } -// readTwoskyConf returns configuration. -func readTwoskyConf() (t *twoskyConf, err error) { - defer func() { err = errors.Annotate(err, "parsing twosky conf: %w") }() +// readTwoskyConfig returns twosky configuration. +func readTwoskyConfig() (t *twoskyConfig, err error) { + defer func() { err = errors.Annotate(err, "parsing twosky config: %w") }() b, err := os.ReadFile(twoskyConfFile) if err != nil { @@ -138,7 +138,7 @@ func readTwoskyConf() (t *twoskyConf, err error) { return nil, err } - var tsc []twoskyConf + var tsc []twoskyConfig err = json.Unmarshal(b, &tsc) if err != nil { err = fmt.Errorf("unmarshalling %q: %w", twoskyConfFile, err) @@ -185,7 +185,7 @@ type twoskyClient struct { // toClient reads values from environment variables or defaults, validates // them, and returns the twosky client. -func (t *twoskyConf) toClient() (conf *twoskyClient, err error) { +func (t *twoskyConfig) toClient() (cli *twoskyClient, err error) { defer func() { err = errors.Annotate(err, "filling config: %w") }() uriStr := os.Getenv("TWOSKY_URI") diff --git a/scripts/translations/upload.go b/scripts/translations/upload.go index ab511470..b9cfd4bf 100644 --- a/scripts/translations/upload.go +++ b/scripts/translations/upload.go @@ -13,6 +13,7 @@ import ( "github.com/AdguardTeam/AdGuardHome/internal/aghhttp" "github.com/AdguardTeam/golibs/errors" "github.com/AdguardTeam/golibs/httphdr" + "github.com/AdguardTeam/golibs/mapsutil" ) // upload base translation. @@ -51,12 +52,9 @@ func prepareMultipartMsg( w := multipart.NewWriter(buf) var fw io.Writer - // TODO(s.chzhen): Consider using OrderedRangeError from [agdmaps] package. - for k, v := range formData { - err = w.WriteField(k, v) - if err != nil { - return nil, "", fmt.Errorf("writing field: %w", err) - } + err = mapsutil.OrderedRangeError(formData, w.WriteField) + if err != nil { + return nil, "", fmt.Errorf("writing field: %w", err) } file, err := os.Open(basePath)