Browse Source

统一把配合和数据库文件写入到 folder_helper.GetConfigRootDirFPath() ,区分三个系统不同的存储目录

Signed-off-by: 716 <[email protected]>
716 3 năm trước cách đây
mục cha
commit
759af214fa

+ 2 - 1
internal/dao/init.go

@@ -4,6 +4,7 @@ import (
 	"errors"
 	"fmt"
 	"github.com/allanpk716/ChineseSubFinder/internal/models"
+	"github.com/allanpk716/ChineseSubFinder/internal/pkg/folder_helper"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/log_helper"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/my_util"
 	"gorm.io/driver/sqlite"
@@ -75,7 +76,7 @@ func InitDb() error {
 }
 
 func getDbName() string {
-	return my_util.GetConfigRootDirFPath() + dbFileName
+	return folder_helper.GetConfigRootDirFPath() + dbFileName
 }
 
 var (

+ 3 - 2
internal/logic/downloader_helper/downloader_helper.go

@@ -3,6 +3,7 @@ package downloader_helper
 import (
 	subSupplier "github.com/allanpk716/ChineseSubFinder/internal/logic/sub_supplier"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/downloader"
+	"github.com/allanpk716/ChineseSubFinder/internal/pkg/folder_helper"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/log_helper"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/my_util"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/notify_center"
@@ -89,12 +90,12 @@ func (d DownloaderHelper) Start() error {
 
 	d.logger.Infoln("Will Scan SubFixCache Folder, Clear files that are more than 7 * 24 hours old")
 	// 清理多天没有使用的时间轴字幕校正缓存文件
-	rootSubFixCache, err := my_util.GetRootSubFixCacheFolder()
+	rootSubFixCache, err := folder_helper.GetRootSubFixCacheFolder()
 	if err != nil {
 		d.logger.Errorln("GetRootSubFixCacheFolder", err)
 		return err
 	}
-	err = my_util.ClearIdleSubFixCacheFolder(rootSubFixCache, 7*24*time.Hour)
+	err = folder_helper.ClearIdleSubFixCacheFolder(rootSubFixCache, 7*24*time.Hour)
 	if err != nil {
 		d.logger.Errorln("ClearIdleSubFixCacheFolder", err)
 		return err

+ 2 - 1
internal/logic/forced_scan_and_down_sub/forced_scan_and_down_sub.go

@@ -3,6 +3,7 @@ package forced_scan_and_down_sub
 import (
 	"errors"
 	"fmt"
+	"github.com/allanpk716/ChineseSubFinder/internal/pkg/folder_helper"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/my_util"
 	"os"
 )
@@ -29,7 +30,7 @@ you needd implement getSpeFileName() in internal/logic/forced_scan_and_down_sub/
 
 func getSpeFileName() string {
 
-	return my_util.GetConfigRootDirFPath() + specialFileNameWindows
+	return folder_helper.GetConfigRootDirFPath() + specialFileNameWindows
 }
 
 /*

+ 2 - 1
internal/logic/pre_download_process/pre_download_proces.go

@@ -8,6 +8,7 @@ import (
 	"github.com/allanpk716/ChineseSubFinder/internal/logic/sub_supplier/subhd"
 	"github.com/allanpk716/ChineseSubFinder/internal/logic/sub_supplier/xunlei"
 	"github.com/allanpk716/ChineseSubFinder/internal/logic/sub_supplier/zimuku"
+	"github.com/allanpk716/ChineseSubFinder/internal/pkg/folder_helper"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/global_value"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/hot_fix"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/log_helper"
@@ -41,7 +42,7 @@ func (p *PreDownloadProcess) Init() *PreDownloadProcess {
 	p.stageName = stageNameInit
 	// ------------------------------------------------------------------------
 	// 初始化全局变量
-	global_value.Init(settings.GetSettings().AdvancedSettings.CustomVideoExts)
+	global_value.Init(folder_helper.GetConfigRootDirFPath(), settings.GetSettings().AdvancedSettings.CustomVideoExts)
 	// ------------------------------------------------------------------------
 	// 初始化通知缓存模块
 	notify_center.Notify = notify_center.NewNotifyCenter(settings.GetSettings().DeveloperSettings.BarkServerAddress)

+ 2 - 1
internal/logic/restore_fix_timeline_bk/restore_fix_timeline_bk.go

@@ -1,6 +1,7 @@
 package restore_fix_timeline_bk
 
 import (
+	"github.com/allanpk716/ChineseSubFinder/internal/pkg/folder_helper"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/my_util"
 	"os"
 )
@@ -23,7 +24,7 @@ func CheckSpeFile() (bool, error) {
 }
 
 func getSpeFileName() string {
-	return my_util.GetConfigRootDirFPath() + specialFileName
+	return folder_helper.GetConfigRootDirFPath() + specialFileName
 }
 
 /*

+ 2 - 1
internal/logic/sub_supplier/subhd/subhd.go

@@ -7,6 +7,7 @@ import (
 	"github.com/Tnze/go.num/v2/zh"
 	"github.com/allanpk716/ChineseSubFinder/internal/common"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/decode"
+	"github.com/allanpk716/ChineseSubFinder/internal/pkg/folder_helper"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/log_helper"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/my_util"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/notify_center"
@@ -668,7 +669,7 @@ search:
 
 	if s.debugMode == true {
 		//截圖保存
-		nowProcessRoot, err := my_util.GetRootDebugFolder()
+		nowProcessRoot, err := folder_helper.GetRootDebugFolder()
 		if err == nil {
 			page.MustScreenshot(filepath.Join(nowProcessRoot, "result.png"))
 		} else {

+ 2 - 2
internal/pkg/debug_view/debug_view.go

@@ -2,7 +2,7 @@ package debug_view
 
 import (
 	"fmt"
-	"github.com/allanpk716/ChineseSubFinder/internal/pkg/my_util"
+	"github.com/allanpk716/ChineseSubFinder/internal/pkg/folder_helper"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/sub_helper"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/vad"
 	"github.com/go-echarts/go-echarts/v2/charts"
@@ -42,7 +42,7 @@ func SaveDebugChartBase(vadList []vad.VADInfo, title, subTitle string) error {
 	line.SetXAxis(xAxis).
 		AddSeries("VAD", lineData)
 
-	rootDebugFolder, err := my_util.GetRootDebugFolder()
+	rootDebugFolder, err := folder_helper.GetRootDebugFolder()
 	if err != nil {
 		return err
 	}

+ 3 - 2
internal/pkg/downloader/downloader.go

@@ -12,6 +12,7 @@ import (
 	seriesHelper "github.com/allanpk716/ChineseSubFinder/internal/logic/series_helper"
 	subSupplier "github.com/allanpk716/ChineseSubFinder/internal/logic/sub_supplier"
 	"github.com/allanpk716/ChineseSubFinder/internal/logic/sub_timeline_fixer"
+	"github.com/allanpk716/ChineseSubFinder/internal/pkg/folder_helper"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/log_helper"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/my_util"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/settings"
@@ -200,7 +201,7 @@ func (d *Downloader) RefreshEmbySubList() error {
 func (d *Downloader) DownloadSub4Movie() error {
 	defer func() {
 		// 所有的电影字幕下载完成,抉择完成,需要清理缓存目录
-		err := my_util.ClearRootTmpFolder()
+		err := folder_helper.ClearRootTmpFolder()
 		if err != nil {
 			d.log.Error("ClearRootTmpFolder", err)
 		}
@@ -289,7 +290,7 @@ func (d *Downloader) DownloadSub4Series() error {
 	var err error
 	defer func() {
 		// 所有的连续剧字幕下载完成,抉择完成,需要清理缓存目录
-		err := my_util.ClearRootTmpFolder()
+		err := folder_helper.ClearRootTmpFolder()
 		if err != nil {
 			d.log.Error("ClearRootTmpFolder", err)
 		}

+ 3 - 2
internal/pkg/downloader/downloader_things.go

@@ -2,6 +2,7 @@ package downloader
 
 import (
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/decode"
+	"github.com/allanpk716/ChineseSubFinder/internal/pkg/folder_helper"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/my_util"
 	subcommon "github.com/allanpk716/ChineseSubFinder/internal/pkg/sub_formatter/common"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/sub_helper"
@@ -26,7 +27,7 @@ func (d *Downloader) oneVideoSelectBestSub(oneVideoFullPath string, organizeSubF
 	// 调试缓存,把下载好的字幕写到对应的视频目录下,方便调试
 	if d.settings.AdvancedSettings.DebugMode == true {
 
-		err = my_util.CopyFiles2DebugFolder([]string{videoFileName}, organizeSubFiles)
+		err = folder_helper.CopyFiles2DebugFolder([]string{videoFileName}, organizeSubFiles)
 		if err != nil {
 			d.log.Errorln("copySubFile2DesFolder", err)
 		}
@@ -128,7 +129,7 @@ func (d *Downloader) saveFullSeasonSub(seriesInfo *series.SeriesInfo, organizeSu
 		for _, sub := range subs {
 			subFileName := filepath.Base(sub)
 
-			newSeasonSubRootPath, err := my_util.GetDebugFolderByName([]string{
+			newSeasonSubRootPath, err := folder_helper.GetDebugFolderByName([]string{
 				filepath.Base(seriesInfo.DirPath),
 				"Sub_" + seasonKey})
 			if err != nil {

+ 2 - 1
internal/pkg/ffmpeg_helper/ffmpeg_helper.go

@@ -7,6 +7,7 @@ import (
 	"github.com/allanpk716/ChineseSubFinder/internal/common"
 	"github.com/allanpk716/ChineseSubFinder/internal/logic/sub_parser/ass"
 	"github.com/allanpk716/ChineseSubFinder/internal/logic/sub_parser/srt"
+	"github.com/allanpk716/ChineseSubFinder/internal/pkg/folder_helper"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/language"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/log_helper"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/my_util"
@@ -96,7 +97,7 @@ func (f *FFMPEGHelper) GetFFMPEGInfo(videoFileFullPath string, exportType Export
 		// 说明缓存不存在,需要导出,这里需要注意,如果导出失败了,这个文件夹要清理掉
 		if my_util.IsDir(nowCacheFolderPath) == true {
 			// 如果存在则,先清空一个这个文件夹
-			err = my_util.ClearFolder(nowCacheFolderPath)
+			err = folder_helper.ClearFolder(nowCacheFolderPath)
 			if err != nil {
 				bok = false
 				return bok, nil, err

+ 2 - 1
internal/pkg/ffmpeg_helper/ffmpeg_info.go

@@ -2,6 +2,7 @@ package ffmpeg_helper
 
 import (
 	"github.com/allanpk716/ChineseSubFinder/internal/common"
+	"github.com/allanpk716/ChineseSubFinder/internal/pkg/folder_helper"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/log_helper"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/my_util"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/sub_helper"
@@ -32,7 +33,7 @@ func NewFFMPEGInfo(videoFullPath string) *FFMPEGInfo {
 // csf-cache/当前的视频文件名(不带后缀)
 func (f *FFMPEGInfo) GetCacheFolderFPath() (string, error) {
 	noExtVideoName := strings.ReplaceAll(filepath.Base(f.VideoFullPath), filepath.Ext(f.VideoFullPath), "")
-	return my_util.GetSubFixCacheFolderByName(noExtVideoName)
+	return folder_helper.GetSubFixCacheFolderByName(noExtVideoName)
 }
 
 // IsExported 是否已经导出过,如果没有导出或者导出不完整为 false

+ 6 - 5
internal/pkg/my_util/folder.go → internal/pkg/folder_helper/folder.go

@@ -1,10 +1,11 @@
-package my_util
+package folder_helper
 
 import (
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/get_access_time"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/global_value"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/log_helper"
-	os "os"
+	"github.com/allanpk716/ChineseSubFinder/internal/pkg/my_util"
+	"os"
 	"path/filepath"
 	"runtime"
 	"strconv"
@@ -61,7 +62,7 @@ func CopyFiles2DebugFolder(names []string, subFiles []string) error {
 	// 复制下载在 tmp 文件夹中的字幕文件到视频文件夹下面
 	for _, subFile := range subFiles {
 		newFn := filepath.Join(debugFolderByName, filepath.Base(subFile))
-		err = CopyFile(subFile, newFn)
+		err = my_util.CopyFile(subFile, newFn)
 		if err != nil {
 			return err
 		}
@@ -212,7 +213,7 @@ func ClearFolder(folderFullPath string) error {
 // 如果调用的时候,已存在的文件夹的时间 min < 5 那么则清理
 func ClearFolderEx(folderFullPath string, overtime int) error {
 
-	_, hour, minute, _ := GetNowTimeString()
+	_, hour, minute, _ := my_util.GetNowTimeString()
 	pathSep := string(os.PathSeparator)
 	files, err := os.ReadDir(folderFullPath)
 	if err != nil {
@@ -352,7 +353,7 @@ func ClearIdleSubFixCacheFolder(rootSubFixCacheFolder string, outOfDate time.Dur
 			if i == 0 {
 				maxAccessTime = accessTime
 			}
-			if Time2SecondNumber(accessTime) > Time2SecondNumber(maxAccessTime) {
+			if my_util.Time2SecondNumber(accessTime) > my_util.Time2SecondNumber(maxAccessTime) {
 				maxAccessTime = accessTime
 			}
 		}

+ 1 - 1
internal/pkg/my_util/folder_test.go → internal/pkg/folder_helper/folder_test.go

@@ -1,4 +1,4 @@
-package my_util
+package folder_helper
 
 import (
 	"testing"

+ 3 - 1
internal/pkg/global_value/global_value.go

@@ -1,6 +1,7 @@
 package global_value
 
-func Init(customExts []string) {
+func Init(configRootDirFPath string, customExts []string) {
+	ConfigRootDirFPath = configRootDirFPath
 	DefDebugFolder = ""
 	DefTmpFolder = ""
 	DefSubFixCacheFolder = ""
@@ -12,6 +13,7 @@ func Init(customExts []string) {
 // util.go
 var (
 	AppVersion           = "" // 程序的版本号
+	ConfigRootDirFPath   = ""
 	DefDebugFolder       = ""
 	DefTmpFolder         = ""
 	DefSubFixCacheFolder = ""

+ 2 - 2
internal/pkg/rod_helper/rodHelper.go

@@ -4,8 +4,8 @@ import (
 	"context"
 	_ "embed"
 	"errors"
+	"github.com/allanpk716/ChineseSubFinder/internal/pkg/folder_helper"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/log_helper"
-	"github.com/allanpk716/ChineseSubFinder/internal/pkg/my_util"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/random_useragent"
 	"github.com/go-rod/rod"
 	"github.com/go-rod/rod/lib/launcher"
@@ -173,7 +173,7 @@ func releaseAdblock() (string, error) {
 	}
 	desPath := filepath.Join(adblockFolderPath, "RunAdblock")
 	// 清理之前缓存的信息
-	_ = my_util.ClearFolder(desPath)
+	_ = folder_helper.ClearFolder(desPath)
 	// 具体把 adblock zip 解压下载到哪里
 	outZipFileFPath := filepath.Join(adblockFolderPath, "adblock.zip")
 	adblockZipFile, err := os.Create(outZipFileFPath)

+ 2 - 1
internal/pkg/settings/settings.go

@@ -1,6 +1,7 @@
 package settings
 
 import (
+	"github.com/allanpk716/ChineseSubFinder/internal/pkg/global_value"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/strcut_json"
 	"github.com/huandu/go-clone"
 	"os"
@@ -63,7 +64,7 @@ func SetFullNewSettings(inSettings *Settings) error {
 
 func NewSettings() *Settings {
 
-	nowConfigFPath := filepath.Join(configName)
+	nowConfigFPath := filepath.Join(global_value.ConfigRootDirFPath, configName)
 
 	return &Settings{
 		configFPath:           nowConfigFPath,

+ 3 - 2
internal/pkg/sub_helper/sub_helper.go

@@ -5,6 +5,7 @@ import (
 	"github.com/allanpk716/ChineseSubFinder/internal/common"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/archive_helper"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/decode"
+	"github.com/allanpk716/ChineseSubFinder/internal/pkg/folder_helper"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/language"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/log_helper"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/my_util"
@@ -27,7 +28,7 @@ func OrganizeDlSubFiles(tmpFolderName string, subInfos []supplier.SubInfo) (map[
 	// 缓存列表,整理后的字幕列表
 	// SxEx - []string 字幕的路径
 	var siteSubInfoDict = make(map[string][]string)
-	tmpFolderFullPath, err := my_util.GetTmpFolderByName(tmpFolderName)
+	tmpFolderFullPath, err := folder_helper.GetTmpFolderByName(tmpFolderName)
 	if err != nil {
 		return nil, err
 	}
@@ -342,7 +343,7 @@ func SearchVideoMatchSubFileAndRemoveExtMark(oneVideoFullPath string) error {
 // DeleteOneSeasonSubCacheFolder 删除一个连续剧中的所有一季字幕的缓存文件夹
 func DeleteOneSeasonSubCacheFolder(seriesDir string) error {
 
-	debugFolderByName, err := my_util.GetDebugFolderByName([]string{filepath.Base(seriesDir)})
+	debugFolderByName, err := folder_helper.GetDebugFolderByName([]string{filepath.Base(seriesDir)})
 	if err != nil {
 		return err
 	}

+ 3 - 2
internal/pkg/sub_helper/sub_helper_test.go

@@ -4,6 +4,7 @@ import (
 	"fmt"
 	"github.com/allanpk716/ChineseSubFinder/internal/logic/sub_parser/ass"
 	"github.com/allanpk716/ChineseSubFinder/internal/logic/sub_parser/srt"
+	"github.com/allanpk716/ChineseSubFinder/internal/pkg/folder_helper"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/my_util"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/sub_parser_hub"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/unit_test_helper"
@@ -15,11 +16,11 @@ func TestDeleteOneSeasonSubCacheFolder(t *testing.T) {
 	const testSerName = "XXX"
 	const needDelFolderName = "Sub_S1E0"
 	testRootDir := unit_test_helper.GetTestDataResourceRootPath([]string{"sub_helper", "org", needDelFolderName}, 4, false)
-	desSerFullPath, err := my_util.GetDebugFolderByName([]string{testSerName})
+	desSerFullPath, err := folder_helper.GetDebugFolderByName([]string{testSerName})
 	if err != nil {
 		t.Fatal(err)
 	}
-	desSeasonFullPath, err := my_util.GetDebugFolderByName([]string{testSerName, filepath.Base(testRootDir)})
+	desSeasonFullPath, err := folder_helper.GetDebugFolderByName([]string{testSerName, filepath.Base(testRootDir)})
 	if err != nil {
 		t.Fatal(err)
 	}

+ 2 - 1
internal/pkg/unit_test_helper/unit_test_helper.go

@@ -1,6 +1,7 @@
 package unit_test_helper
 
 import (
+	"github.com/allanpk716/ChineseSubFinder/internal/pkg/folder_helper"
 	"github.com/allanpk716/ChineseSubFinder/internal/pkg/my_util"
 	"io"
 	"os"
@@ -148,7 +149,7 @@ func copyTestData(srcDir string) (string, error) {
 	testDir := filepath.Join(srcDir, "test")
 
 	if my_util.IsDir(testDir) == true {
-		err := my_util.ClearFolderEx(testDir, 10)
+		err := folder_helper.ClearFolderEx(testDir, 10)
 		if err != nil {
 			return "", err
 		}