Skip to content

Commit 40418ea

Browse files
committed
update saveToFile func
1 parent e4f3c67 commit 40418ea

File tree

1 file changed

+33
-16
lines changed

1 file changed

+33
-16
lines changed

scripts/translations/download.go

Lines changed: 33 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,38 @@ func (c *twoskyClient) downloadTo(
9393
return nil
9494
}
9595

96+
func normalizeServicesJSON(data []byte) []byte {
97+
if b, err := unwrapMessageJSON(data); err == nil {
98+
data = b
99+
}
100+
if b, err := indentJSON(data); err == nil {
101+
data = b
102+
}
103+
return data
104+
}
105+
106+
func unwrapMessageJSON(data []byte) ([]byte, error) {
107+
var wrapped map[string]struct {
108+
Message string `json:"message"`
109+
}
110+
if err := json.Unmarshal(data, &wrapped); err != nil {
111+
return nil, err
112+
}
113+
flat := make(map[string]string, len(wrapped))
114+
for k, v := range wrapped {
115+
flat[k] = v.Message
116+
}
117+
return json.Marshal(flat)
118+
}
119+
120+
func indentJSON(data []byte) ([]byte, error) {
121+
var buf bytes.Buffer
122+
if err := json.Indent(&buf, data, "", " "); err != nil {
123+
return nil, err
124+
}
125+
return buf.Bytes(), nil
126+
}
127+
96128
// printFailedLocales prints sorted list of failed downloads, if any. l and
97129
// failed must not be nil.
98130
func printFailedLocales(
@@ -159,22 +191,7 @@ func saveToFile(
159191
}
160192

161193
if baseFile == servicesBaseFile {
162-
var wrapped map[string]struct {
163-
Message string `json:"message"`
164-
}
165-
if err := json.Unmarshal(data, &wrapped); err == nil {
166-
flat := make(map[string]string, len(wrapped))
167-
for k, v := range wrapped {
168-
flat[k] = v.Message
169-
}
170-
if b, mErr := json.Marshal(flat); mErr == nil {
171-
data = b
172-
}
173-
}
174-
var buf bytes.Buffer
175-
if err := json.Indent(&buf, data, "", " "); err == nil {
176-
data = buf.Bytes()
177-
}
194+
data = normalizeServicesJSON(data)
178195
}
179196

180197
name := filepath.Join(outputDir, code+".json")

0 commit comments

Comments
 (0)