allow thumbnail.png to not exist
This commit is contained in:
parent
2fcbc31f77
commit
234caa159e
3 changed files with 30 additions and 22 deletions
10
main.go
10
main.go
|
|
@ -217,14 +217,16 @@ func main() {
|
|||
}
|
||||
|
||||
// scan for thumbnail
|
||||
var thumbnail *yt.Thumbnail
|
||||
thumbnailPath, thumbnailSizeBytes, err := scanner.ScanThumbnail(directory)
|
||||
if err != nil {
|
||||
log.Fatalf("Failed to fetch thumbnail: %v", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
thumbnail := &yt.Thumbnail{
|
||||
Filepath: thumbnailPath,
|
||||
SizeBytes: thumbnailSizeBytes,
|
||||
} else {
|
||||
thumbnail = &yt.Thumbnail{
|
||||
Filepath: thumbnailPath,
|
||||
SizeBytes: thumbnailSizeBytes,
|
||||
}
|
||||
}
|
||||
|
||||
// build video template for upload
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package scanner
|
|||
|
||||
import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"os"
|
||||
"path"
|
||||
|
|
@ -65,6 +66,9 @@ func ScanThumbnail(directory string) (string, int64, error) {
|
|||
thumbnailPath := path.Join(directory, "thumbnail.png")
|
||||
stat, err := os.Stat(thumbnailPath)
|
||||
if err != nil {
|
||||
if os.IsNotExist(err) {
|
||||
return "", 0, err
|
||||
}
|
||||
return "", 0, err
|
||||
}
|
||||
if stat.IsDir() {
|
||||
|
|
|
|||
|
|
@ -285,27 +285,29 @@ func UploadVideo(
|
|||
return nil, err
|
||||
}
|
||||
|
||||
// upload thumbnail
|
||||
if thumbnail != nil {
|
||||
// upload thumbnail
|
||||
|
||||
thumbnailService := youtube.NewThumbnailsService(service)
|
||||
thumbnailSetCall := thumbnailService.Set(ytVideo.Id)
|
||||
thumbnailFile, err := os.Open(thumbnail.Filepath)
|
||||
if err != nil {
|
||||
log.Fatalf("Failed to open thumbnail: %v\n", err)
|
||||
return nil, err
|
||||
}
|
||||
thumbnailSetCall.Media(thumbnailFile)
|
||||
thumbnailService := youtube.NewThumbnailsService(service)
|
||||
thumbnailSetCall := thumbnailService.Set(ytVideo.Id)
|
||||
thumbnailFile, err := os.Open(thumbnail.Filepath)
|
||||
if err != nil {
|
||||
log.Printf("Failed to open thumbnail: %v\n", err)
|
||||
return ytVideo, err
|
||||
}
|
||||
thumbnailSetCall.Media(thumbnailFile)
|
||||
|
||||
log.Println("Uploading thumbnail...")
|
||||
log.Println("Uploading thumbnail...")
|
||||
|
||||
thumbnailSetCall.ProgressUpdater(func(current, total int64) {
|
||||
if total == 0 { total = thumbnail.SizeBytes }
|
||||
fmt.Printf("\t(%.2f%%)\n", float64(current) / float64(total) * 100)
|
||||
})
|
||||
// kinda don't care about the response here- so long as it works!
|
||||
_, err = thumbnailSetCall.Do()
|
||||
if err != nil {
|
||||
log.Printf("Failed to upload thumbnail: %v\n", err)
|
||||
thumbnailSetCall.ProgressUpdater(func(current, total int64) {
|
||||
if total == 0 { total = thumbnail.SizeBytes }
|
||||
fmt.Printf("\t(%.2f%%)\n", float64(current) / float64(total) * 100)
|
||||
})
|
||||
// kinda don't care about the response here- so long as it works!
|
||||
_, err = thumbnailSetCall.Do()
|
||||
if err != nil {
|
||||
log.Printf("Failed to upload thumbnail: %v\n", err)
|
||||
}
|
||||
}
|
||||
|
||||
return ytVideo, err
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue