Skip to content

Commit 0aa45bd

Browse files
committed
add checktool endpoint and force download
1 parent 6a12390 commit 0aa45bd

File tree

2 files changed

+35
-20
lines changed

2 files changed

+35
-20
lines changed

download.go

Lines changed: 30 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -86,28 +86,38 @@ func downloadFromUrl(url string) (filename string, err error) {
8686
return fileName, nil
8787
}
8888

89-
func spDownloadTool(name string, url string) {
89+
func spCheckToolVersion(name string) {
90+
var outlist []string
91+
dirlist, err := ioutil.ReadDir(tempToolsPath + "/")
92+
if err == nil {
93+
for _, element := range dirlist {
94+
if element.IsDir() && strings.Contains(element.Name(), name) {
95+
outlist = append(outlist, element.Name())
96+
}
97+
}
98+
}
99+
mapD := map[string][]string{"ToolVersions": outlist}
100+
mapB, _ := json.Marshal(mapD)
101+
h.broadcastSys <- mapB
102+
}
90103

91-
if _, err := os.Stat(tempToolsPath + "/" + name); err != nil {
104+
func spDownloadTool(name string, url string) {
92105

93-
fileName, err := downloadFromUrl(url + "/" + name + "-" + runtime.GOOS + "-" + runtime.GOARCH + ".zip")
94-
if err != nil {
95-
log.Error("Could not download flashing tools!")
96-
mapD := map[string]string{"DownloadStatus": "Error", "Msg": err.Error()}
97-
mapB, _ := json.Marshal(mapD)
98-
h.broadcastSys <- mapB
99-
return
100-
}
101-
err = UnzipWrapper(fileName, tempToolsPath)
102-
if err != nil {
103-
log.Error("Could not unzip flashing tools!")
104-
mapD := map[string]string{"DownloadStatus": "Error", "Msg": err.Error()}
105-
mapB, _ := json.Marshal(mapD)
106-
h.broadcastSys <- mapB
107-
return
108-
}
109-
} else {
110-
log.Info("Tool already present, skipping download")
106+
fileName, err := downloadFromUrl(url + "/" + name + "-" + runtime.GOOS + "-" + runtime.GOARCH + ".zip")
107+
if err != nil {
108+
log.Error("Could not download flashing tools!")
109+
mapD := map[string]string{"DownloadStatus": "Error", "Msg": err.Error()}
110+
mapB, _ := json.Marshal(mapD)
111+
h.broadcastSys <- mapB
112+
return
113+
}
114+
err = UnzipWrapper(fileName, tempToolsPath)
115+
if err != nil {
116+
log.Error("Could not unzip flashing tools!")
117+
mapD := map[string]string{"DownloadStatus": "Error", "Msg": err.Error()}
118+
mapB, _ := json.Marshal(mapD)
119+
h.broadcastSys <- mapB
120+
return
111121
}
112122

113123
folders, _ := ioutil.ReadDir(tempToolsPath)

hub.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,11 @@ func checkCmd(m []byte) {
189189
if len(args) > 2 {
190190
go spDownloadTool(args[1], args[2])
191191
}
192+
} else if strings.HasPrefix(sl, "checktool") {
193+
args := strings.Split(s, " ")
194+
if len(args) > 1 {
195+
go spCheckToolVersion(args[1])
196+
}
192197
} else if strings.HasPrefix(sl, "bufferalgorithm") {
193198
go spBufferAlgorithms()
194199
} else if strings.HasPrefix(sl, "log") {

0 commit comments

Comments
 (0)