improved video.html added fix time duration fro livestreams

This commit is contained in:
partisan 2024-04-14 09:26:03 +02:00
parent 7c9aa30f10
commit d6edd14f16
5 changed files with 105 additions and 27 deletions

View file

@ -45,9 +45,11 @@ func formatViews(views int) string {
case views >= 1_000_000_000:
return fmt.Sprintf("%.1fB views", float64(views)/1_000_000_000)
case views >= 1_000_000:
return fmt.Sprintf("%dM views", views/1_000_000)
return fmt.Sprintf("%.1fM views", float64(views)/1_000_000)
case views >= 10_000:
return fmt.Sprintf("%.1fK views", float64(views)/1_000)
case views == 1:
return fmt.Sprintf("%d view", views)
default:
return fmt.Sprintf("%d views", views)
}
@ -55,9 +57,14 @@ func formatViews(views int) string {
// formatDuration formats video duration as done in the Python code
func formatDuration(seconds int) string {
if 0 > seconds {
return "Live"
}
hours := seconds / 3600
minutes := (seconds % 3600) / 60
seconds = seconds % 60
if hours > 0 {
return fmt.Sprintf("%02d:%02d:%02d", hours, minutes, seconds)
}
@ -115,6 +122,10 @@ func handleVideoSearch(w http.ResponseWriter, query, safe, lang string, page int
if item.Type == "channel" || item.Type == "playlist" {
continue
}
if item.UploadedDate == "" {
item.UploadedDate = "Now"
}
results = append(results, VideoResult{
Href: fmt.Sprintf("https://youtube.com%s", item.URL),
Title: item.Title,