Improve speed calculation, clean some things up

This commit is contained in:
Ken-Håvard Lieng 2020-05-18 03:21:34 +02:00
parent b92f5cfb43
commit a90e8d4b2f
2 changed files with 81 additions and 75 deletions

View file

@ -65,20 +65,16 @@ func (i *ircHandler) run() {
}
case progress := <-i.client.Progress:
if progress.PercCompletion == 100 {
i.state.sendJSON("pm", Message{
Server: i.client.Host,
From: "@dcc",
Content: fmt.Sprintf("%s://%s/downloads/%s/%s", i.state.String("scheme"),
i.state.String("host"), i.state.user.Username, progress.File),
})
if progress.Error != nil {
i.sendDCCInfo("%s: Download failed (%s)", progress.File, progress.Error)
} else if progress.PercCompletion == 100 {
i.sendDCCInfo("Download finished, get it here: %s://%s/downloads/%s/%s",
i.state.String("scheme"), i.state.String("host"), i.state.user.Username, progress.File)
} else if progress.PercCompletion == 0 {
i.sendDCCInfo("%s: Starting download", progress.File)
} else {
i.state.sendJSON("pm", Message{
Server: i.client.Host,
From: "@dcc",
Content: fmt.Sprintf("%s: %.2f%% %s remaining, %.2fs left", progress.File,
progress.PercCompletion, progress.BytesRemaining, progress.SecondsToGo),
})
i.sendDCCInfo("%s: %.1f%%, %s, %s remaining, %.1fs left", progress.File,
progress.PercCompletion, progress.Speed, progress.BytesRemaining, progress.SecondsToGo)
}
}
}
@ -435,6 +431,14 @@ func (i *ircHandler) log(v ...interface{}) {
log.Println("[IRC]", i.state.user.ID, i.client.Host, s[:len(s)-1])
}
func (i *ircHandler) sendDCCInfo(message string, a ...interface{}) {
i.state.sendJSON("pm", Message{
Server: i.client.Host,
From: "@dcc",
Content: fmt.Sprintf(message, a...),
})
}
func parseMode(mode string) *Mode {
m := Mode{}
add := false