This commit is contained in:
Yami Odymel 2024-02-17 19:51:00 +08:00
parent dec4f8f302
commit ccd530f0b2
No known key found for this signature in database
GPG Key ID: 68E469836934DB36

View File

@ -47,6 +47,9 @@ func (w *Channel) newFile() error {
if err := os.MkdirAll(filepath.Dir(filename), 0777); err != nil {
return fmt.Errorf("create folder: %w", err)
}
if err := w.tidyZeroes(filepath.Dir(filename)); err != nil {
return fmt.Errorf("tidy zeroes: %w", err)
}
file, err := os.OpenFile(filename+".ts", os.O_CREATE|os.O_APPEND|os.O_WRONLY, 0777)
if err != nil {
return fmt.Errorf("cannot open file: %s: %w", filename, err)
@ -56,6 +59,26 @@ func (w *Channel) newFile() error {
return nil
}
// tidyZeroes
func (w *Channel) tidyZeroes(dir string) error {
files, err := os.ReadDir(dir)
if err != nil {
return fmt.Errorf("read directory: %w", err)
}
for _, file := range files {
fileInfo, err := file.Info()
if err != nil {
return fmt.Errorf("get file info: %w", err)
}
if filepath.Ext(file.Name()) == ".ts" && fileInfo.Size() == 0 {
if err := os.Remove(filepath.Join(dir, file.Name())); err != nil {
return fmt.Errorf("remove zero file: %s: %w", file.Name(), err)
}
}
}
return nil
}
// nextFile
func (w *Channel) nextFile() error {
w.splitIndex++