MCPcopy Create free account
hub / github.com/OpenListTeam/OpenList / writeFile

Function writeFile

cmd/lang.go:42–78  ·  view source on GitHub ↗
(name string, data interface{})

Source from the content-addressed store, hash-verified

40}
41
42func writeFile(name string, data interface{}) {
43 f, err := os.Open(fmt.Sprintf("%s/src/lang/en/%s.json", frontendPath, name))
44 if err != nil {
45 log.Errorf("failed to open %s.json: %+v", name, err)
46 return
47 }
48 defer f.Close()
49 content, err := io.ReadAll(f)
50 if err != nil {
51 log.Errorf("failed to read %s.json: %+v", name, err)
52 return
53 }
54 oldData := make(map[string]interface{})
55 newData := make(map[string]interface{})
56 err = utils.Json.Unmarshal(content, &oldData)
57 if err != nil {
58 log.Errorf("failed to unmarshal %s.json: %+v", name, err)
59 return
60 }
61 content, err = utils.Json.Marshal(data)
62 if err != nil {
63 log.Errorf("failed to marshal json: %+v", err)
64 return
65 }
66 err = utils.Json.Unmarshal(content, &newData)
67 if err != nil {
68 log.Errorf("failed to unmarshal json: %+v", err)
69 return
70 }
71 if mergeJson(newData, oldData) {
72 log.Infof("%s.json no changed, skip", name)
73 } else {
74 log.Infof("%s.json changed, update file", name)
75 //log.Infof("old: %+v\nnew:%+v", oldData, data)
76 utils.WriteJsonToFile(fmt.Sprintf("lang/%s.json", name), oldData, true)
77 }
78}
79
80func mergeJson(source, target map[string]interface{}) bool {
81 equal := true

Callers 2

generateDriversJsonFunction · 0.70
generateSettingsJsonFunction · 0.70

Calls 5

WriteJsonToFileFunction · 0.92
mergeJsonFunction · 0.85
OpenMethod · 0.65
CloseMethod · 0.65
UnmarshalMethod · 0.45

Tested by

no test coverage detected