|
@@ -3,6 +3,8 @@ package v1
|
|
|
import (
|
|
|
"github.com/allanpk716/ChineseSubFinder/internal/backend/controllers/base"
|
|
|
"github.com/allanpk716/ChineseSubFinder/internal/logic/cron_helper"
|
|
|
+ "github.com/allanpk716/ChineseSubFinder/internal/pkg/lock"
|
|
|
+ "github.com/allanpk716/ChineseSubFinder/internal/pkg/video_scan_and_refresh_helper"
|
|
|
"github.com/allanpk716/ChineseSubFinder/internal/types/backend"
|
|
|
"github.com/gin-gonic/gin"
|
|
|
"github.com/sirupsen/logrus"
|
|
@@ -13,6 +15,12 @@ type ControllerBase struct {
|
|
|
log *logrus.Logger
|
|
|
cronHelper *cron_helper.CronHelper
|
|
|
StaticFileSystemBackEnd *base.StaticFileSystemBackEnd
|
|
|
+
|
|
|
+ videoScanAndRefreshHelper *video_scan_and_refresh_helper.VideoScanAndRefreshHelper
|
|
|
+ videoScanAndRefreshHelperIsRunning bool
|
|
|
+ videoScanAndRefreshHelperLocker lock.Lock
|
|
|
+ scanVideoResult *video_scan_and_refresh_helper.ScanVideoResult
|
|
|
+ videoScanAndRefreshHelperErrMessage string
|
|
|
}
|
|
|
|
|
|
func NewControllerBase(log *logrus.Logger, cronHelper *cron_helper.CronHelper) *ControllerBase {
|
|
@@ -20,9 +28,18 @@ func NewControllerBase(log *logrus.Logger, cronHelper *cron_helper.CronHelper) *
|
|
|
log: log,
|
|
|
cronHelper: cronHelper,
|
|
|
StaticFileSystemBackEnd: base.NewStaticFileSystemBackEnd(log),
|
|
|
+ // 这里因为不进行任务的添加,仅仅是扫描,所以 downloadQueue 可以为 nil
|
|
|
+ videoScanAndRefreshHelper: video_scan_and_refresh_helper.NewVideoScanAndRefreshHelper(cronHelper.FileDownloader, nil),
|
|
|
+ videoScanAndRefreshHelperLocker: lock.NewLock(),
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+func (cb *ControllerBase) Close() {
|
|
|
+ cb.cronHelper.Stop()
|
|
|
+ cb.videoScanAndRefreshHelper.Cancel()
|
|
|
+ cb.videoScanAndRefreshHelperLocker.Close()
|
|
|
+}
|
|
|
+
|
|
|
func (cb ControllerBase) GetVersion() string {
|
|
|
return "v1"
|
|
|
}
|