Skip to content

Commit

Permalink
fix name mapping err.
Browse files Browse the repository at this point in the history
  • Loading branch information
varg1714 committed Sep 3, 2024
1 parent 5fa9103 commit 3ff5778
Show file tree
Hide file tree
Showing 5 changed files with 32 additions and 29 deletions.
2 changes: 1 addition & 1 deletion drivers/fc2/driver.go
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ func (d *FC2) List(ctx context.Context, dir model.Obj, args model.ListArgs) ([]m
}
return results, nil
} else if dirName == "个人收藏" {
return utils.SliceConvert(virtual_file.GeoStorageFilms("fc2", "个人收藏"), func(src model.ObjThumb) (model.Obj, error) {
return utils.SliceConvert(virtual_file.GeoStorageFilms("fc2", "个人收藏", true), func(src model.ObjThumb) (model.Obj, error) {
return &src, nil
})
} else if categories[dirName] != "" {
Expand Down
2 changes: 1 addition & 1 deletion drivers/fc2/util.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ func (d *FC2) getFilms(dirName string, urlFunc func(index int) string) ([]model.
return virtual_file.GetFilmsWitchStorage("fc2", dirName, dirName, urlFunc,
func(urlFunc func(index int) string, index int, data []model.ObjThumb) ([]model.ObjThumb, bool, error) {
return d.getPageInfo(urlFunc, index, data)
})
}, true)
} else {
return virtual_file.GetFilms("fc2", dirName, urlFunc,
func(urlFunc func(index int) string, index int, data []model.ObjThumb) ([]model.ObjThumb, bool, error) {
Expand Down
35 changes: 18 additions & 17 deletions drivers/javdb/util.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ func (d *Javdb) getFilms(dirName string, urlFunc func(index int) string) ([]mode
javFilms, err := virtual_file.GetFilmsWitchStorage("javdb", dirName, dirName, urlFunc,
func(urlFunc func(index int) string, index int, data []model.ObjThumb) ([]model.ObjThumb, bool, error) {
return d.getJavPageInfo(urlFunc, index, data)
})
}, false)

if err != nil && len(javFilms) == 0 {
utils.Log.Info("javdb影片获取失败", err)
Expand All @@ -46,18 +46,16 @@ func (d *Javdb) getFilms(dirName string, urlFunc func(index int) string) ([]mode
_, newName = splitName(newName)
newName = virtual_file.AppendFilmName(virtual_file.CutString(newName))
javFilms[index].Name = fmt.Sprintf("%s %s", code, strings.ReplaceAll(newName, "-", ""))

virtual_file.CacheImage("javdb", dirName, virtual_file.AppendImageName(javFilms[index].Name), javFilms[index].Thumb())

}
virtual_file.CacheImage("javdb", dirName, virtual_file.AppendImageName(javFilms[index].Name), javFilms[index].Thumb())
}

return javFilms, err

}

func (d *Javdb) getStars() []model.ObjThumb {
return virtual_file.GeoStorageFilms("javdb", "个人收藏")
return virtual_file.GeoStorageFilms("javdb", "个人收藏", true)
}

func (d *Javdb) addStar(code string) (model.ObjThumb, error) {
Expand Down Expand Up @@ -265,16 +263,19 @@ func (d *Javdb) getAiravPageInfo(urlFunc func(index int) string, index int, data
href := element.ChildAttr(".oneVideo-top a", "href")
title := element.ChildText(".oneVideo-body h5")

parse, _ := time.Parse(time.DateOnly, element.ChildText(".meta"))
data = append(data, model.ObjThumb{
Object: model.Object{
Name: title,
IsFolder: false,
ID: "https://airav.io" + href,
Size: 622857143,
Modified: parse,
},
})
if !strings.Contains(title, "马赛克破坏版") {
parse, _ := time.Parse(time.DateOnly, element.ChildText(".meta"))
data = append(data, model.ObjThumb{
Object: model.Object{
Name: title,
IsFolder: false,
ID: "https://airav.io" + href,
Size: 622857143,
Modified: parse,
},
})
}

})

})
Expand Down Expand Up @@ -435,7 +436,7 @@ func (d *Javdb) getAiravNamingFilms(films []model.ObjThumb, dirName string) (map

// 2.1 仅当未爬取到才爬取,对于非第一条数据,若未爬取到则不再爬取
if nameCache[code] == "" && (init == false || index == 0) {
// 2.2 首先爬取airav站点到
// 2.2 首先爬取airav站点的
addr, searchResult := d.getAiravNamingAddr(films[index])

if searchResult.ID != "" {
Expand All @@ -450,7 +451,7 @@ func (d *Javdb) getAiravNamingFilms(films []model.ObjThumb, dirName string) (map
},
func(urlFunc func(index int) string, index int, data []model.ObjThumb) ([]model.ObjThumb, bool, error) {
return d.getAiravPageInfo(urlFunc, index, data)
})
}, false)

if err != nil {
utils.Log.Info("airav影片列表爬取失败", err)
Expand Down
20 changes: 11 additions & 9 deletions drivers/virtual_file/film.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,14 +38,14 @@ func GetFilms(source, dirName string, urlFunc func(index int) string, pageFunc f

}

func GetFilmsWitchStorage(source, dirName string, actorId string, urlFunc func(index int) string, pageFunc func(urlFunc func(index int) string, index int, preFilms []model.ObjThumb) ([]model.ObjThumb, bool, error)) ([]model.ObjThumb, error) {
func GetFilmsWitchStorage(source, dirName string, actorId string, urlFunc func(index int) string, pageFunc func(urlFunc func(index int) string, index int, preFilms []model.ObjThumb) ([]model.ObjThumb, bool, error), cacheFile bool) ([]model.ObjThumb, error) {

results := make([]model.ObjThumb, 0)
films := make([]model.ObjThumb, 0)

films, nextPage, err := pageFunc(urlFunc, 1, films)
if err != nil {
return convertFilm(source, dirName, db.QueryByActor(source, dirName), results), err
return convertFilm(source, dirName, db.QueryByActor(source, dirName), results, cacheFile), err
}

var urls []string
Expand All @@ -60,7 +60,7 @@ func GetFilmsWitchStorage(source, dirName string, actorId string, urlFunc func(i

films, nextPage, err = pageFunc(urlFunc, index, films)
if err != nil {
return convertFilm(source, dirName, db.QueryByActor(source, dirName), results), err
return convertFilm(source, dirName, db.QueryByActor(source, dirName), results, cacheFile), err
}
clear(urls)
for _, item := range films {
Expand All @@ -85,20 +85,20 @@ func GetFilmsWitchStorage(source, dirName string, actorId string, urlFunc func(i
if len(films) != 0 {
err = db.CreateFilms(source, dirName, actorId, films)
if err != nil {
return convertFilm(source, dirName, db.QueryByActor(source, dirName), results), nil
return convertFilm(source, dirName, db.QueryByActor(source, dirName), results, cacheFile), nil
}
}

return convertFilm(source, dirName, db.QueryByActor(source, dirName), results), nil
return convertFilm(source, dirName, db.QueryByActor(source, dirName), results, cacheFile), nil

}

func GeoStorageFilms(source, dirName string) []model.ObjThumb {
func GeoStorageFilms(source, dirName string, cacheFile bool) []model.ObjThumb {
films := db.QueryByActor(source, dirName)
return convertFilm(source, dirName, films, []model.ObjThumb{})
return convertFilm(source, dirName, films, []model.ObjThumb{}, cacheFile)
}

func convertFilm(source, dirName string, actor []model.Film, results []model.ObjThumb) []model.ObjThumb {
func convertFilm(source, dirName string, actor []model.Film, results []model.ObjThumb, cacheFile bool) []model.ObjThumb {
for _, film := range actor {

thumb := model.ObjThumb{
Expand All @@ -124,7 +124,9 @@ func convertFilm(source, dirName string, actor []model.Film, results []model.Obj
thumb.Name = AppendFilmName(film.Name)
}

CacheImage(source, dirName, AppendImageName(sourceName), film.Image)
if cacheFile {
CacheImage(source, dirName, AppendImageName(sourceName), film.Image)
}

results = append(results, thumb)
}
Expand Down
2 changes: 1 addition & 1 deletion internal/db/film.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ func QueryByActor(source string, actor string) []model.Film {
func QueryByUrls(actor string, urls []string) []string {

films := make([]model.Film, 0)
db.Select("url").Where("url IN (?)", urls).Where("actor = ?", actor).Find(&films)
db.Select("url").Where("url IN (?)", urls).Where("actor_id = ?", actor).Find(&films)

result := make([]string, 0)

Expand Down

0 comments on commit 3ff5778

Please sign in to comment.