mirror of
https://github.com/stashapp/stash.git
synced 2026-03-25 14:41:18 +01:00
Merge 85460b4e21 into 2e48dbfc63
This commit is contained in:
commit
13926ce0da
1 changed files with 48 additions and 0 deletions
|
|
@ -89,6 +89,49 @@ func autotagMatchTags(ctx context.Context, path string, tagReader models.TagAuto
|
|||
return ret, nil
|
||||
}
|
||||
|
||||
func (s autotagScraper) viaImage(ctx context.Context, _client *http.Client, image *models.Image) (*models.ScrapedImage, error) {
|
||||
var ret *models.ScrapedImage
|
||||
|
||||
// only trim extension if image is file-based
|
||||
trimExt := image.PrimaryFileID != nil
|
||||
|
||||
// populate performers, studio and tags based on image path
|
||||
if err := txn.WithReadTxn(ctx, s.txnManager, func(ctx context.Context) error {
|
||||
path := image.Path
|
||||
if path == "" {
|
||||
return nil
|
||||
}
|
||||
|
||||
performers, err := autotagMatchPerformers(ctx, path, s.performerReader, trimExt)
|
||||
if err != nil {
|
||||
return fmt.Errorf("autotag scraper viaImage: %w", err)
|
||||
}
|
||||
studio, err := autotagMatchStudio(ctx, path, s.studioReader, trimExt)
|
||||
if err != nil {
|
||||
return fmt.Errorf("autotag scraper viaImage: %w", err)
|
||||
}
|
||||
|
||||
tags, err := autotagMatchTags(ctx, path, s.tagReader, trimExt)
|
||||
if err != nil {
|
||||
return fmt.Errorf("autotag scraper viaImage: %w", err)
|
||||
}
|
||||
|
||||
if len(performers) > 0 || studio != nil || len(tags) > 0 {
|
||||
ret = &models.ScrapedImage{
|
||||
Performers: performers,
|
||||
Studio: studio,
|
||||
Tags: tags,
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return ret, nil
|
||||
}
|
||||
|
||||
func (s autotagScraper) viaScene(ctx context.Context, _client *http.Client, scene *models.Scene) (*models.ScrapedScene, error) {
|
||||
var ret *models.ScrapedScene
|
||||
const trimExt = false
|
||||
|
|
@ -181,6 +224,8 @@ func (s autotagScraper) supports(ty ScrapeContentType) bool {
|
|||
return true
|
||||
case ScrapeContentTypeGallery:
|
||||
return true
|
||||
case ScrapeContentTypeImage:
|
||||
return true
|
||||
}
|
||||
|
||||
return false
|
||||
|
|
@ -204,6 +249,9 @@ func (s autotagScraper) spec() Scraper {
|
|||
Gallery: &ScraperSpec{
|
||||
SupportedScrapes: supportedScrapes,
|
||||
},
|
||||
Image: &ScraperSpec{
|
||||
SupportedScrapes: supportedScrapes,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue