code cleanup
This commit is contained in:
parent
da6f025c7c
commit
98c54d249b
@ -2,7 +2,6 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
|
||||||
"io/fs"
|
"io/fs"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
@ -39,7 +38,6 @@ func SymlinkFilesOnly(path string) bool {
|
|||||||
|
|
||||||
func VideosOnly(path string) bool {
|
func VideosOnly(path string) bool {
|
||||||
streams, err := GetStreamsFromFile(path)
|
streams, err := GetStreamsFromFile(path)
|
||||||
fmt.Println("VIDEOS_ONLY", "DEBUG", streams, err)
|
|
||||||
return err == nil && strings.Contains(streams, "video")
|
return err == nil && strings.Contains(streams, "video")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ func GetStreamsFromFile(path string) (string, error) {
|
|||||||
path,
|
path,
|
||||||
)
|
)
|
||||||
|
|
||||||
data, err := cmd.CombinedOutput()
|
data, err := cmd.Output()
|
||||||
return string(data), err
|
return string(data), err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
27
main.go
27
main.go
@ -53,11 +53,6 @@ func main() {
|
|||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
files = channel.MapSuccessive(files, func(s string) string {
|
|
||||||
fmt.Println("DEBUG", s)
|
|
||||||
return s
|
|
||||||
})
|
|
||||||
|
|
||||||
groupedFiles := channel.GroupByTime(files, FlagGroupMultipleFileChangesByTime, func(events map[string]struct{}, event string) map[string]struct{} {
|
groupedFiles := channel.GroupByTime(files, FlagGroupMultipleFileChangesByTime, func(events map[string]struct{}, event string) map[string]struct{} {
|
||||||
if events == nil {
|
if events == nil {
|
||||||
events = map[string]struct{}{}
|
events = map[string]struct{}{}
|
||||||
@ -67,22 +62,8 @@ func main() {
|
|||||||
})
|
})
|
||||||
|
|
||||||
filesByGroup := channel.FlatMap(groupedFiles, func(key string, _ struct{}) string { return key })
|
filesByGroup := channel.FlatMap(groupedFiles, func(key string, _ struct{}) string { return key })
|
||||||
|
|
||||||
filesByGroup = channel.MapSuccessive(filesByGroup, func(s string) string {
|
|
||||||
fmt.Println("GROUPED", s)
|
|
||||||
fmt.Println("EXISTS", Exists(s))
|
|
||||||
fmt.Println("SymlinkFilesOnly", SymlinkFilesOnly(s))
|
|
||||||
fmt.Println("VideosOnly", VideosOnly(s))
|
|
||||||
return s
|
|
||||||
})
|
|
||||||
|
|
||||||
filteredFiles := channel.Filter(filesByGroup, Or(Not(Exists), And(SymlinkFilesOnly, VideosOnly)))
|
filteredFiles := channel.Filter(filesByGroup, Or(Not(Exists), And(SymlinkFilesOnly, VideosOnly)))
|
||||||
|
|
||||||
filteredFiles = channel.MapSuccessive(filteredFiles, func(s string) string {
|
|
||||||
fmt.Println("FILTERED", s)
|
|
||||||
return s
|
|
||||||
})
|
|
||||||
|
|
||||||
for file := range filteredFiles {
|
for file := range filteredFiles {
|
||||||
if err := TranscodeFile(file); err != nil {
|
if err := TranscodeFile(file); err != nil {
|
||||||
fmt.Fprintln(os.Stderr, fmt.Errorf("could not transcode file '%s': %w", file, err))
|
fmt.Fprintln(os.Stderr, fmt.Errorf("could not transcode file '%s': %w", file, err))
|
||||||
@ -95,12 +76,12 @@ func TranscodeFile(file string) error {
|
|||||||
newPath := filepath.Join(FlagTargetDir, relPath+".mp3")
|
newPath := filepath.Join(FlagTargetDir, relPath+".mp3")
|
||||||
newDir := filepath.Dir(newPath)
|
newDir := filepath.Dir(newPath)
|
||||||
|
|
||||||
fmt.Printf("check '%s'\n", relPath)
|
fmt.Printf("check: '%s'\n", relPath)
|
||||||
|
|
||||||
// file was deleted in source directory.
|
// file was deleted in source directory.
|
||||||
// delete corresponding file in target directory as well
|
// delete corresponding file in target directory as well
|
||||||
if _, err := os.Stat(file); errors.Is(err, fs.ErrNotExist) {
|
if _, err := os.Stat(file); errors.Is(err, fs.ErrNotExist) {
|
||||||
fmt.Printf("remove '%s'\n", relPath)
|
fmt.Printf("remove: '%s'\n", relPath)
|
||||||
return os.Remove(newPath)
|
return os.Remove(newPath)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -123,13 +104,13 @@ func TranscodeFile(file string) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if currentFileHash == expectedFileHash {
|
if currentFileHash == expectedFileHash {
|
||||||
fmt.Printf("skip '%s'. hashes match\n", relPath)
|
fmt.Printf("skip because hashes match: '%s'\n", relPath)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fmt.Printf("convert '%s'\n", relPath)
|
fmt.Printf("convert: '%s'\n", relPath)
|
||||||
if err := ConvertToAudio(context.Background(), file, newPath); err != nil {
|
if err := ConvertToAudio(context.Background(), file, newPath); err != nil {
|
||||||
fmt.Fprintln(os.Stderr, fmt.Errorf("encoding of video '%s' failed: %w", file, err))
|
fmt.Fprintln(os.Stderr, fmt.Errorf("encoding of video '%s' failed: %w", file, err))
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user