This commit is contained in:
spaceyuck 2026-03-23 19:43:36 -07:00 committed by GitHub
commit 13926ce0da
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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,
},
}
}