func (c Cache) postScrape(ctx context.Context, content models.ScrapedContent) (models.ScrapedContent, error) {
	// Analyze the concrete type, call the right post-processing function
	switch v := content.(type) {
	case *models.ScrapedPerformer:
		if v != nil {
			return c.postScrapePerformer(ctx, *v)
		}
	case models.ScrapedPerformer:
		return c.postScrapePerformer(ctx, v)
	case *models.ScrapedScene:
		if v != nil {
			return c.postScrapeScene(ctx, *v)
		}
	case models.ScrapedScene:
		return c.postScrapeScene(ctx, v)
	case *models.ScrapedGallery:
		if v != nil {
			return c.postScrapeGallery(ctx, *v)
		}
	case models.ScrapedGallery:
		return c.postScrapeGallery(ctx, v)
	case *models.ScrapedMovie:
		if v != nil {
			return c.postScrapeMovie(ctx, *v)
		}
	case models.ScrapedMovie:
		return c.postScrapeMovie(ctx, v)
	}

	// If nothing matches, pass the content through
	return content, nil
}
// postScrape handles post-processing of scraped content. If the content
// requires post-processing, this function fans out to the given content
// type and post-processes it.
postScrape handles post-processing of scraped content. If the content
requires post-processing, this function fans out to the given content
type and post-processes it.
// postScrape handles post - processing of scraped content . If the content // requires post - processing this function fans out to the given content // type and post - processes it .
func (c Cache) postScrape(ctx context.Context, content models.ScrapedContent) (models.ScrapedContent, error) {
	switch v := content.(type) {
	case *models.ScrapedPerformer:
		if v != nil {
			return c.postScrapePerformer(ctx, *v)
		}
	case models.ScrapedPerformer:
		return c.postScrapePerformer(ctx, v)
	case *models.ScrapedScene:
		if v != nil {
			return c.postScrapeScene(ctx, *v)
		}
	case models.ScrapedScene:
		return c.postScrapeScene(ctx, v)
	case *models.ScrapedGallery:
		if v != nil {
			return c.postScrapeGallery(ctx, *v)
		}
	case models.ScrapedGallery:
		return c.postScrapeGallery(ctx, v)
	case *models.ScrapedMovie:
		if v != nil {
			return c.postScrapeMovie(ctx, *v)
		}
	case models.ScrapedMovie:
		return c.postScrapeMovie(ctx, v)
	}
	return content, nil
}
func ( c Cache ) postScrape ( ctx context . Context , content models . ScrapedContent ) ( models . ScrapedContent , error ) { switch v := content . ( type ) { case * models . ScrapedPerformer : if v != nil { return c . postScrapePerformer ( ctx , * v ) } case models . ScrapedPerformer : return c . postScrapePerformer ( ctx , v ) case * models . ScrapedScene : if v != nil { return c . postScrapeScene ( ctx , * v ) } case models . ScrapedScene : return c . postScrapeScene ( ctx , v ) case * models . ScrapedGallery : if v != nil { return c . postScrapeGallery ( ctx , * v ) } case models . ScrapedGallery : return c . postScrapeGallery ( ctx , v ) case * models . ScrapedMovie : if v != nil { return c . postScrapeMovie ( ctx , * v ) } case models . ScrapedMovie : return c . postScrapeMovie ( ctx , v ) } return content , nil }
postScrape handles post-processing of scraped content.
postScrape handles post - processing of scraped content .
// Analyze the concrete type, call the right post-processing function // If nothing matches, pass the content through