Fix scene studio results when doing a search scrape (#3246)

This commit is contained in:
bnkai 2023-01-30 00:40:53 +02:00 committed by GitHub
parent 7ccfa07843
commit d80ec1d7a1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 6 deletions

View File

@ -822,7 +822,7 @@ func (s mappedScraper) scrapePerformers(ctx context.Context, q mappedQuery) ([]*
return ret, nil return ret, nil
} }
func (s mappedScraper) processScene(ctx context.Context, q mappedQuery, r mappedResult) *ScrapedScene { func (s mappedScraper) processScene(ctx context.Context, q mappedQuery, r mappedResult, resultIndex int) *ScrapedScene {
var ret ScrapedScene var ret ScrapedScene
sceneScraperConfig := s.Scene sceneScraperConfig := s.Scene
@ -876,9 +876,10 @@ func (s mappedScraper) processScene(ctx context.Context, q mappedQuery, r mapped
logger.Debug(`Processing scene studio:`) logger.Debug(`Processing scene studio:`)
studioResults := sceneStudioMap.process(ctx, q, s.Common) studioResults := sceneStudioMap.process(ctx, q, s.Common)
if len(studioResults) > 0 { if len(studioResults) > 0 && resultIndex < len(studioResults) {
studio := &models.ScrapedStudio{} studio := &models.ScrapedStudio{}
studioResults[0].apply(studio) // when doing a `search` scrape get the related studio
studioResults[resultIndex].apply(studio)
ret.Studio = studio ret.Studio = studio
} }
} }
@ -908,9 +909,9 @@ func (s mappedScraper) scrapeScenes(ctx context.Context, q mappedQuery) ([]*Scra
logger.Debug(`Processing scenes:`) logger.Debug(`Processing scenes:`)
results := sceneMap.process(ctx, q, s.Common) results := sceneMap.process(ctx, q, s.Common)
for _, r := range results { for i, r := range results {
logger.Debug(`Processing scene:`) logger.Debug(`Processing scene:`)
ret = append(ret, s.processScene(ctx, q, r)) ret = append(ret, s.processScene(ctx, q, r, i))
} }
return ret, nil return ret, nil
@ -928,7 +929,7 @@ func (s mappedScraper) scrapeScene(ctx context.Context, q mappedQuery) (*Scraped
logger.Debug(`Processing scene:`) logger.Debug(`Processing scene:`)
results := sceneMap.process(ctx, q, s.Common) results := sceneMap.process(ctx, q, s.Common)
if len(results) > 0 { if len(results) > 0 {
ret = s.processScene(ctx, q, results[0]) ret = s.processScene(ctx, q, results[0], 0)
} }
return ret, nil return ret, nil