Cache yt-dlp version
This commit is contained in:
parent
43230aa401
commit
5fd2d648dd
3 changed files with 16 additions and 11 deletions
|
|
@ -37,6 +37,7 @@ func main() {
|
||||||
log.Panic().Msgf("%s\n", err.Error())
|
log.Panic().Msgf("%s\n", err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
media.GetInstalledVersion()
|
||||||
go startYtDlpUpdater()
|
go startYtDlpUpdater()
|
||||||
|
|
||||||
// The HTTP Server
|
// The HTTP Server
|
||||||
|
|
@ -86,14 +87,14 @@ func startYtDlpUpdater() {
|
||||||
ticker := time.NewTicker(12 * time.Hour)
|
ticker := time.NewTicker(12 * time.Hour)
|
||||||
|
|
||||||
// Do one update now
|
// Do one update now
|
||||||
_, _ = media.UpdateYtDlp()
|
_ = media.UpdateYtDlp()
|
||||||
|
|
||||||
quit := make(chan struct{})
|
quit := make(chan struct{})
|
||||||
go func() {
|
go func() {
|
||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
case <-ticker.C:
|
case <-ticker.C:
|
||||||
_, _ = media.UpdateYtDlp()
|
_ = media.UpdateYtDlp()
|
||||||
log.Info().Msgf("yt-dlp version: %s", media.GetInstalledVersion())
|
log.Info().Msgf("yt-dlp version: %s", media.GetInstalledVersion())
|
||||||
case <-quit:
|
case <-quit:
|
||||||
ticker.Stop()
|
ticker.Stop()
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ var idCharSet = regexp.MustCompile(`^[a-zA-Z0-9]+$`).MatchString
|
||||||
|
|
||||||
func Index(w http.ResponseWriter, _ *http.Request) {
|
func Index(w http.ResponseWriter, _ *http.Request) {
|
||||||
data := map[string]string{
|
data := map[string]string{
|
||||||
"ytDlpVersion": GetInstalledVersion(),
|
"ytDlpVersion": CachedYtDlpVersion,
|
||||||
}
|
}
|
||||||
if err := fetchIndexTmpl.Execute(w, data); err != nil {
|
if err := fetchIndexTmpl.Execute(w, data); err != nil {
|
||||||
log.Error().Msgf("Error rendering template: %v", err)
|
log.Error().Msgf("Error rendering template: %v", err)
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,9 @@ import (
|
||||||
"sync"
|
"sync"
|
||||||
)
|
)
|
||||||
|
|
||||||
func UpdateYtDlp() (string, error) {
|
var CachedYtDlpVersion = ""
|
||||||
|
|
||||||
|
func UpdateYtDlp() error {
|
||||||
log.Info().Msgf("Updateing yt-dlp")
|
log.Info().Msgf("Updateing yt-dlp")
|
||||||
|
|
||||||
cmd := exec.Command("yt-dlp",
|
cmd := exec.Command("yt-dlp",
|
||||||
|
|
@ -29,7 +31,7 @@ func UpdateYtDlp() (string, error) {
|
||||||
err := cmd.Start()
|
err := cmd.Start()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error().Msgf("Error starting command: %v", err)
|
log.Error().Msgf("Error starting command: %v", err)
|
||||||
return "", err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
var wg sync.WaitGroup
|
var wg sync.WaitGroup
|
||||||
|
|
@ -46,15 +48,16 @@ func UpdateYtDlp() (string, error) {
|
||||||
err = cmd.Wait()
|
err = cmd.Wait()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error().Msgf("cmd.Run() failed with %s", err)
|
log.Error().Msgf("cmd.Run() failed with %s", err)
|
||||||
return "", err
|
return err
|
||||||
} else if errStdout != nil {
|
} else if errStdout != nil {
|
||||||
log.Error().Msgf("failed to capture stdout: %v", errStdout)
|
log.Error().Msgf("failed to capture stdout: %v", errStdout)
|
||||||
} else if errStderr != nil {
|
} else if errStderr != nil {
|
||||||
log.Error().Msgf("failed to capture stderr: %v", errStderr)
|
log.Error().Msgf("failed to capture stderr: %v", errStderr)
|
||||||
}
|
}
|
||||||
log.Info().Msgf("Done updating yt-dlp")
|
|
||||||
|
|
||||||
return "", nil
|
log.Info().Msgf("Done updating yt-dlp. Version=%s", GetInstalledVersion())
|
||||||
|
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetInstalledVersion() string {
|
func GetInstalledVersion() string {
|
||||||
|
|
@ -69,8 +72,9 @@ func GetInstalledVersion() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
version := strings.TrimSpace(string(s.Bytes()))
|
version := strings.TrimSpace(string(s.Bytes()))
|
||||||
if version != "" {
|
if version == "" {
|
||||||
return version
|
version = "unknown"
|
||||||
}
|
}
|
||||||
return "unknown"
|
CachedYtDlpVersion = version
|
||||||
|
return version
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue