Skip to content

Commit

Permalink
v0.11.1
Browse files Browse the repository at this point in the history
- 移动Options到统一的models包
  • Loading branch information
wetor committed Jan 29, 2024
1 parent 856f43f commit e807b86
Show file tree
Hide file tree
Showing 28 changed files with 120 additions and 126 deletions.
24 changes: 9 additions & 15 deletions cmd/animego/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,7 @@ import (
"github.com/wetor/AnimeGo/internal/animego/anisource/bangumi"
"github.com/wetor/AnimeGo/internal/animego/anisource/mikan"
"github.com/wetor/AnimeGo/internal/animego/anisource/themoviedb"
"github.com/wetor/AnimeGo/internal/animego/clientnotifier"
"github.com/wetor/AnimeGo/internal/animego/database"
"github.com/wetor/AnimeGo/internal/animego/downloader"
"github.com/wetor/AnimeGo/internal/animego/feed"
"github.com/wetor/AnimeGo/internal/animego/filter"
"github.com/wetor/AnimeGo/internal/animego/parser"
"github.com/wetor/AnimeGo/internal/animego/renamer"
"github.com/wetor/AnimeGo/internal/constant"
"github.com/wetor/AnimeGo/internal/logger"
"github.com/wetor/AnimeGo/internal/models"
Expand Down Expand Up @@ -210,7 +204,7 @@ func Main() {
}
}
// 初始化rename
renameSrv := wire.GetRenamer(&renamer.Options{
renameSrv := wire.GetRenamer(&models.RenamerOptions{
WG: &wg,
RefreshSecond: config.RefreshSecond,
}, renamePlugin)
Expand All @@ -219,7 +213,7 @@ func Main() {

// ===============================================================================================================
// 初始化database配置
databaseInst, err := wire.GetDatabase(&database.Options{
databaseInst, err := wire.GetDatabase(&models.DatabaseOptions{
SavePath: xpath.P(config.SavePath),
}, bolt)
if err != nil {
Expand All @@ -229,21 +223,21 @@ func Main() {
// ===============================================================================================================
// 初始化downloader

downloadCallback := &clientnotifier.Callback{}
downloaderSrv := wire.GetDownloader(&downloader.Options{
downloadCallback := &models.Callback{}
downloaderSrv := wire.GetDownloader(&models.DownloaderOptions{
RefreshSecond: config.RefreshSecond,
Category: config.Category,
Tag: config.Tag,
AllowDuplicateDownload: config.Download.AllowDuplicateDownload,
WG: &wg,
}, clientSrv, &clientnotifier.Options{
}, clientSrv, &models.NotifierOptions{
DownloadPath: xpath.P(config.DownloadPath),
SavePath: xpath.P(config.SavePath),
Rename: config.Advanced.Download.Rename,
Callback: downloadCallback,
}, databaseInst, renameSrv)

downloadCallback.Renamed = func(data any) error {
downloadCallback.Func = func(data any) error {
return downloaderSrv.Delete(data.(string))
}
// 启动downloader
Expand All @@ -260,9 +254,9 @@ func Main() {
}
// 初始化filter

filterSrv := wire.GetFilter(&filter.Options{
filterSrv := wire.GetFilter(&models.FilterOptions{
DelaySecond: config.Advanced.Feed.DelaySecond,
}, downloaderSrv, &parser.Options{
}, downloaderSrv, &models.ParserOptions{
TMDBFailSkip: config.Default.TMDBFailSkip,
TMDBFailUseTitleSeason: config.Default.TMDBFailUseTitleSeason,
TMDBFailUseFirstSeason: config.Default.TMDBFailUseFirstSeason,
Expand All @@ -272,7 +266,7 @@ func Main() {
}
// ===============================================================================================================
// 初始化定时任务
scheduleSrv := schedule.NewSchedule(&schedule.Options{
scheduleSrv := schedule.NewSchedule(&models.ScheduleOptions{
WG: &wg,
})
// 添加定时任务
Expand Down
2 changes: 1 addition & 1 deletion cmd/plugin/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ func Main() {
log.Infof("[%d] filter结果: %v", i, string(jsonData))
}
case constant.PluginTemplateSchedule, constant.PluginTemplateFeed:
s := schedule.NewSchedule(&schedule.Options{
s := schedule.NewSchedule(&models.ScheduleOptions{
WG: &wg,
})
if pPlugin == constant.PluginTemplateSchedule {
Expand Down
12 changes: 0 additions & 12 deletions internal/animego/clientnotifier/models.go

This file was deleted.

14 changes: 7 additions & 7 deletions internal/animego/clientnotifier/notifier.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,15 @@ type Notifier struct {
hash2filename map[string][]string // hash -> dst filenames

db *database.Database
*Options
*models.NotifierOptions
}

func NewNotifier(opts *Options, db *database.Database, rename api.Renamer) *Notifier {
func NewNotifier(opts *models.NotifierOptions, db *database.Database, rename api.Renamer) *Notifier {
return &Notifier{
hash2filename: make(map[string][]string),
rename: rename,
db: db,
Options: opts,
hash2filename: make(map[string][]string),
rename: rename,
db: db,
NotifierOptions: opts,
}
}

Expand Down Expand Up @@ -141,7 +141,7 @@ func (n *Notifier) handleDownloadStart(hash string) error {
log.Warnf("刮削失败: %s", _name)
}
}
err = n.Callback.Renamed(_anime.Hash())
err = n.Callback.Func(_anime.Hash())
if err != nil {
log.Warnf("删除下载项失败: %s", _name)
}
Expand Down
10 changes: 5 additions & 5 deletions internal/animego/clientnotifier/notifier_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ func TestMain(m *testing.M) {
DefaultExt: []string{".a_json", ".s_json", ".e_json"}, // anime, season
})
rename = wire.GetRenamer(
&renamer.Options{
&models.RenamerOptions{
WG: &wg,
RefreshSecond: 1,
},
Expand All @@ -80,19 +80,19 @@ func TestMain(m *testing.M) {
db = cache.NewBolt()
db.Open("data/test.db")
var err error
databaseSrv, err := database.NewDatabase(&database.Options{
databaseSrv, err := database.NewDatabase(&models.DatabaseOptions{
SavePath: SavePath,
}, db)
if err != nil {
return
}
downloader := &DownloaderMock{}
dbManager = clientnotifier.NewNotifier(&clientnotifier.Options{
dbManager = clientnotifier.NewNotifier(&models.NotifierOptions{
DownloadPath: DownloadPath,
SavePath: SavePath,
Rename: "link_delete",
Callback: &clientnotifier.Callback{
Renamed: func(data any) error {
Callback: &models.Callback{
Func: func(data any) error {
return downloader.Delete(data.(string))
},
},
Expand Down
8 changes: 4 additions & 4 deletions internal/animego/database/database.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,16 +34,16 @@ type Database struct {
sync.Mutex
dirMutex sync.Mutex // 事务控制

*Options
*models.DatabaseOptions
}

func NewDatabase(opts *Options, cache api.Cacher) (*Database, error) {
func NewDatabase(opts *models.DatabaseOptions, cache api.Cacher) (*Database, error) {
dirdb.Init(&dirdb.Options{
DefaultExt: []string{path.Ext(AnimeDBName), path.Ext(SeasonDBName), path.Ext(EpisodeDBFmt)}, // anime, season
})
m := &Database{
cache: cache,
Options: opts,
cache: cache,
DatabaseOptions: opts,
}
m.cache.Add(Hash2EntityBucket)
m.cache.Add(Name2HashBucket)
Expand Down
4 changes: 0 additions & 4 deletions internal/animego/database/models.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,3 @@ type AnimeDir struct {
Dir string
SeasonDir map[int]string
}

type Options struct {
SavePath string
}
10 changes: 5 additions & 5 deletions internal/animego/downloader/downloader.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,14 @@ type Manager struct {
errMutex sync.Mutex
sync.Mutex

*Options
*models.DownloaderOptions
}

func NewManager(opts *Options, client api.Client, notifier *clientnotifier.Notifier) *Manager {
func NewManager(opts *models.DownloaderOptions, client api.Client, notifier *clientnotifier.Notifier) *Manager {
m := &Manager{
client: client,
notifier: notifier,
Options: opts,
client: client,
notifier: notifier,
DownloaderOptions: opts,
}
m.Init()
return m
Expand Down
13 changes: 7 additions & 6 deletions internal/animego/downloader/downloader_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ func TestMain(m *testing.M) {
})

rename = wire.GetRenamer(
&renamer.Options{
&models.RenamerOptions{
WG: &wg,
RefreshSecond: 1,
},
Expand All @@ -142,14 +142,14 @@ func TestMain(m *testing.M) {
db.Open("data/test.db")

var err error
callback := &clientnotifier.Callback{}
dbInst, err := database.NewDatabase(&database.Options{
callback := &models.Callback{}
dbInst, err := database.NewDatabase(&models.DatabaseOptions{
SavePath: SavePath,
}, db)
if err != nil {
panic(err)
}
dbs = clientnotifier.NewNotifier(&clientnotifier.Options{
dbs = clientnotifier.NewNotifier(&models.NotifierOptions{
DownloadPath: DownloadPath,
SavePath: SavePath,
Rename: "link_delete",
Expand All @@ -163,19 +163,20 @@ func TestMain(m *testing.M) {
Ctx: context.Background(),
})

mgr = downloader.NewManager(&downloader.Options{
mgr = downloader.NewManager(&models.DownloaderOptions{
RefreshSecond: 1,
Category: "AnimeGoTest",
WG: &wg,
AllowDuplicateDownload: false,
Tag: "",
}, qbt, dbs)
callback.Renamed = func(data any) error {
callback.Func = func(data any) error {
return mgr.Delete(data.(string))
}

m.Run()
_ = log.Close()
db.Close()
_ = os.RemoveAll("data")
fmt.Println("end")
}
Expand Down
9 changes: 0 additions & 9 deletions internal/animego/downloader/models.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package downloader

import (
"github.com/wetor/AnimeGo/internal/constant"
"sync"
)

type ItemState struct {
Expand All @@ -11,11 +10,3 @@ type ItemState struct {
Name string
Info any // 下载项信息
}

type Options struct {
RefreshSecond int
Category string
Tag string
AllowDuplicateDownload bool
WG *sync.WaitGroup
}
2 changes: 1 addition & 1 deletion internal/animego/feed/plugin_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ func BeforePlugin() {
_ = utils.CreateMutiDir("data")

wg := sync.WaitGroup{}
s = schedule.NewSchedule(&schedule.Options{
s = schedule.NewSchedule(&models.ScheduleOptions{
WG: &wg,
})
}
Expand Down
12 changes: 6 additions & 6 deletions internal/animego/filter/filter.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,20 +21,20 @@ type Manager struct {
manager api.ManagerDownloader
parser api.ParserManager

*Options
*models.FilterOptions
}

// NewManager
//
// @Description:
// @param feed api.Feed
// @return *Manager
func NewManager(opts *Options, manager api.ManagerDownloader, parser api.ParserManager) *Manager {
func NewManager(opts *models.FilterOptions, manager api.ManagerDownloader, parser api.ParserManager) *Manager {
m := &Manager{
filters: make([]api.FilterPlugin, 0),
manager: manager,
parser: parser,
Options: opts,
filters: make([]api.FilterPlugin, 0),
manager: manager,
parser: parser,
FilterOptions: opts,
}
return m
}
Expand Down
2 changes: 1 addition & 1 deletion internal/animego/filter/filter_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ func TestMain(m *testing.M) {
Debug: true,
})

mgr = filter.NewManager(&filter.Options{
mgr = filter.NewManager(&models.FilterOptions{
DelaySecond: 1,
}, &DownloaderMock{}, &ParserMock{})
mgr.Add(&models.Plugin{
Expand Down
5 changes: 0 additions & 5 deletions internal/animego/filter/models.go

This file was deleted.

7 changes: 0 additions & 7 deletions internal/animego/parser/models.go

This file was deleted.

12 changes: 6 additions & 6 deletions internal/animego/parser/parser.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,15 @@ type Manager struct {
mikan api.AniSource
bangumi api.AniSource

*Options
*models.ParserOptions
}

func NewManager(opts *Options, parser *Parser, mikan *anisource.Mikan, bangumi *anisource.Bangumi) *Manager {
func NewManager(opts *models.ParserOptions, parser *Parser, mikan *anisource.Mikan, bangumi *anisource.Bangumi) *Manager {
return &Manager{
parser: parser,
mikan: mikan,
bangumi: bangumi,
Options: opts,
parser: parser,
mikan: mikan,
bangumi: bangumi,
ParserOptions: opts,
}
}

Expand Down
2 changes: 1 addition & 1 deletion internal/animego/parser/parser_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ func TestMain(m *testing.M) {
test.HookMethod(mikanSource, "Parse", MikanParse)
test.HookMethod(bangumiSource, "Parse", BangumiParse)

mgr = parser.NewManager(&parser.Options{
mgr = parser.NewManager(&models.ParserOptions{
TMDBFailSkip: false,
TMDBFailUseTitleSeason: true,
TMDBFailUseFirstSeason: true,
Expand Down
7 changes: 0 additions & 7 deletions internal/animego/renamer/models.go
Original file line number Diff line number Diff line change
@@ -1,17 +1,10 @@
package renamer

import (
"sync"

"github.com/wetor/AnimeGo/internal/constant"
"github.com/wetor/AnimeGo/internal/models"
)

type Options struct {
WG *sync.WaitGroup
RefreshSecond int
}

type RenameTask struct {
// 只读
Src string // 原名
Expand Down
Loading

0 comments on commit e807b86

Please sign in to comment.