summaryrefslogtreecommitdiff
path: root/mkvtool
diff options
context:
space:
mode:
Diffstat (limited to 'mkvtool')
-rw-r--r--mkvtool/go.mod5
-rw-r--r--mkvtool/main.go11
-rw-r--r--mkvtool/utils.go9
3 files changed, 17 insertions, 8 deletions
diff --git a/mkvtool/go.mod b/mkvtool/go.mod
index 4d282ac..0c20219 100644
--- a/mkvtool/go.mod
+++ b/mkvtool/go.mod
@@ -2,10 +2,7 @@ module github.com/MkvAutoSubset/MkvAutoSubset/mkvtool
go 1.18
-require (
- github.com/MkvAutoSubset/MkvAutoSubset/mkvlib v0.0.0-20220506111355-2978cfb6c703
- github.com/google/uuid v1.3.0
-)
+require github.com/MkvAutoSubset/MkvAutoSubset/mkvlib v0.0.0-20220506111355-2978cfb6c703
require (
github.com/antchfx/xmlquery v1.3.10 // indirect
diff --git a/mkvtool/main.go b/mkvtool/main.go
index 12fd890..4d71da0 100644
--- a/mkvtool/main.go
+++ b/mkvtool/main.go
@@ -4,7 +4,6 @@ import (
"flag"
"fmt"
"github.com/MkvAutoSubset/MkvAutoSubset/mkvlib"
- "github.com/google/uuid"
"io"
"io/ioutil"
"log"
@@ -17,7 +16,7 @@ import (
)
const appName = "MKV Tool"
-const appVer = "v3.8.7"
+const appVer = "v3.8.8"
const tTitle = appName + " " + appVer
var appFN = fmt.Sprintf("%s %s %s/%s", appName, appVer, runtime.GOOS, runtime.GOARCH)
@@ -88,7 +87,7 @@ func main() {
flag.BoolVar(&cc, "cc", false, "Create fonts cache.")
flag.Var(asses, "a", "ASS files. (multiple & join ass mode)")
flag.BoolVar(&n, "n", false, "Not do ass font subset & not change font name.")
- flag.BoolVar(&clean, "clean", false, "Clean original file subtitles and fonts. (create mode only)")
+ flag.BoolVar(&clean, "clean", false, "Clean original file subtitles and fonts for create mode, or clean old caches for create cache mode.")
flag.BoolVar(&ck, "ck", false, "Enable check mode.")
flag.BoolVar(&cks, "cks", false, "Enable strict mode for check.")
flag.StringVar(&sl, "sl", "chi", "Subtitle language. (create & make mode only)")
@@ -161,7 +160,11 @@ func main() {
}
if cc && s != "" {
- list := processer.CreateFontsCache(s, path.Join(cache_p, uuid.New().String()+".cache"), nil)
+ if clean {
+ _ = os.RemoveAll(cache_p)
+ }
+ p := path.Join(cache_p, path2MD5(s)+".cache")
+ list := processer.CreateFontsCache(s, p, nil)
el := len(list)
if el > 0 {
ec++
diff --git a/mkvtool/utils.go b/mkvtool/utils.go
index e60afe8..835e88c 100644
--- a/mkvtool/utils.go
+++ b/mkvtool/utils.go
@@ -1,7 +1,9 @@
package main
import (
+ "crypto/md5"
"errors"
+ "fmt"
"os"
"path/filepath"
"regexp"
@@ -48,3 +50,10 @@ func splitPath(p string) (dir, name, ext, namewithoutext string) {
}
return
}
+
+func path2MD5(p string) string {
+ p, _ = filepath.Abs(p)
+ h := md5.New()
+ h.Write([]byte(p))
+ return fmt.Sprintf("%x", h.Sum(nil))
+}