From 7fd817f6d1ead3de85294c1893a6e1572a1d12e3 Mon Sep 17 00:00:00 2001 From: Keuin Date: Fri, 7 Jul 2023 00:34:55 +0800 Subject: Refactor: move file operations into single package. --- bilibili/streaming.go | 4 ++-- common/bytesize.go | 19 ------------------- common/bytesize_test.go | 24 ------------------------ common/filename.go | 7 ------- common/files/bytesize.go | 19 +++++++++++++++++++ common/files/bytesize_test.go | 24 ++++++++++++++++++++++++ common/files/filename.go | 7 +++++++ recording/runner.go | 6 +++--- 8 files changed, 55 insertions(+), 55 deletions(-) delete mode 100644 common/bytesize.go delete mode 100644 common/bytesize_test.go delete mode 100644 common/filename.go create mode 100644 common/files/bytesize.go create mode 100644 common/files/bytesize_test.go create mode 100644 common/files/filename.go diff --git a/bilibili/streaming.go b/bilibili/streaming.go index b985bbb..9f74950 100644 --- a/bilibili/streaming.go +++ b/bilibili/streaming.go @@ -5,7 +5,7 @@ import ( "errors" "fmt" errs "github.com/keuin/slbr/bilibili/errors" - "github.com/keuin/slbr/common" + "github.com/keuin/slbr/common/files" "io" "net/http" "os" @@ -106,6 +106,6 @@ copyLoop: b.logger.Error("Stream copying was interrupted unexpectedly: %v", err) } - b.logger.Info("Total downloaded: %v", common.PrettyBytes(uint64(n))) + b.logger.Info("Total downloaded: %v", files.PrettyBytes(uint64(n))) return err } diff --git a/common/bytesize.go b/common/bytesize.go deleted file mode 100644 index 9b3aa97..0000000 --- a/common/bytesize.go +++ /dev/null @@ -1,19 +0,0 @@ -package common - -import "fmt" - -func PrettyBytes(b uint64) string { - if b < 1000 { - return fmt.Sprintf("%d Byte", b) - } - if b < 1000_000 { - return fmt.Sprintf("%.2f KiB", float64(b)/1024) - } - if b < 1000_000_000 { - return fmt.Sprintf("%.2f MiB", float64(b)/1024/1024) - } - if b < 1000_000_000_000 { - return fmt.Sprintf("%.2f GiB", float64(b)/1024/1024/1024) - } - return fmt.Sprintf("%.2f TiB", float64(b)/1024/1024/1024/1024) -} diff --git a/common/bytesize_test.go b/common/bytesize_test.go deleted file mode 100644 index b68ee4c..0000000 --- a/common/bytesize_test.go +++ /dev/null @@ -1,24 +0,0 @@ -package common - -import ( - "testing" -) - -func TestPrettyBytes(t *testing.T) { - tests := []struct { - Expected string - Actual string - }{ - {"128 Byte", PrettyBytes(128)}, - {"128.00 KiB", PrettyBytes(128 * 1024)}, - {"128.00 MiB", PrettyBytes(128 * 1024 * 1024)}, - {"128.00 GiB", PrettyBytes(128 * 1024 * 1024 * 1024)}, - {"128.00 TiB", PrettyBytes(128 * 1024 * 1024 * 1024 * 1024)}, - {"131072.00 TiB", PrettyBytes(128 * 1024 * 1024 * 1024 * 1024 * 1024)}, - } - for i, tc := range tests { - if tc.Expected != tc.Actual { - t.Fatalf("Test %v failed: %v", i, tc) - } - } -} diff --git a/common/filename.go b/common/filename.go deleted file mode 100644 index aedd377..0000000 --- a/common/filename.go +++ /dev/null @@ -1,7 +0,0 @@ -package common - -import "fmt" - -func CombineFileName(base string, ext string) string { - return fmt.Sprintf("%s.%s", base, ext) -} diff --git a/common/files/bytesize.go b/common/files/bytesize.go new file mode 100644 index 0000000..95f857a --- /dev/null +++ b/common/files/bytesize.go @@ -0,0 +1,19 @@ +package files + +import "fmt" + +func PrettyBytes(b uint64) string { + if b < 1000 { + return fmt.Sprintf("%d Byte", b) + } + if b < 1000_000 { + return fmt.Sprintf("%.2f KiB", float64(b)/1024) + } + if b < 1000_000_000 { + return fmt.Sprintf("%.2f MiB", float64(b)/1024/1024) + } + if b < 1000_000_000_000 { + return fmt.Sprintf("%.2f GiB", float64(b)/1024/1024/1024) + } + return fmt.Sprintf("%.2f TiB", float64(b)/1024/1024/1024/1024) +} diff --git a/common/files/bytesize_test.go b/common/files/bytesize_test.go new file mode 100644 index 0000000..970c242 --- /dev/null +++ b/common/files/bytesize_test.go @@ -0,0 +1,24 @@ +package files + +import ( + "testing" +) + +func TestPrettyBytes(t *testing.T) { + tests := []struct { + Expected string + Actual string + }{ + {"128 Byte", PrettyBytes(128)}, + {"128.00 KiB", PrettyBytes(128 * 1024)}, + {"128.00 MiB", PrettyBytes(128 * 1024 * 1024)}, + {"128.00 GiB", PrettyBytes(128 * 1024 * 1024 * 1024)}, + {"128.00 TiB", PrettyBytes(128 * 1024 * 1024 * 1024 * 1024)}, + {"131072.00 TiB", PrettyBytes(128 * 1024 * 1024 * 1024 * 1024 * 1024)}, + } + for i, tc := range tests { + if tc.Expected != tc.Actual { + t.Fatalf("Test %v failed: %v", i, tc) + } + } +} diff --git a/common/files/filename.go b/common/files/filename.go new file mode 100644 index 0000000..725563c --- /dev/null +++ b/common/files/filename.go @@ -0,0 +1,7 @@ +package files + +import "fmt" + +func CombineFileName(base string, ext string) string { + return fmt.Sprintf("%s.%s", base, ext) +} diff --git a/recording/runner.go b/recording/runner.go index d43f451..13a4050 100644 --- a/recording/runner.go +++ b/recording/runner.go @@ -12,7 +12,7 @@ import ( "fmt" "github.com/keuin/slbr/bilibili" errs "github.com/keuin/slbr/bilibili/errors" - "github.com/keuin/slbr/common" + "github.com/keuin/slbr/common/files" "github.com/keuin/slbr/common/myurl" "github.com/keuin/slbr/logging" "github.com/samber/mo" @@ -298,7 +298,7 @@ func record( } baseName := GenerateFileName(profile.Data.Title, time.Now()) - fileName := common.CombineFileName(baseName, extName) + fileName := files.CombineFileName(baseName, extName) saveDir := task.Download.SaveDirectory filePath := path.Join(saveDir, fileName) @@ -315,7 +315,7 @@ func record( return } from := filePath - to := path.Join(saveDir, common.CombineFileName(baseName, originalExtName)) + to := path.Join(saveDir, files.CombineFileName(baseName, originalExtName)) err := os.Rename(from, to) if err != nil { logger.Error("Cannot rename %v to %v: %v", from, to, err) -- cgit v1.2.3