func ImageStudios(s *models.Image, rw models.ImageReaderWriter, studioReader models.StudioReader, cache *match.Cache) error {
	if s.StudioID.Valid {
		// don't modify
		return nil
	}

	t := getImageFileTagger(s, cache)

	return t.tagStudios(studioReader, func(subjectID, otherID int) (bool, error) {
		return addImageStudio(rw, subjectID, otherID)
	})
}
// ImageStudios tags the provided image with the first studio whose name matches the image's path.
//
// Images will not be tagged if studio is already set.
ImageStudios tags the provided image with the first studio whose name matches the image's path.

Images will not be tagged if studio is already set.
// ImageStudios tags the provided image with the first studio whose name matches the image ' s path . // // Images will not be tagged if studio is already set .
func ImageStudios(s *models.Image, rw models.ImageReaderWriter, studioReader models.StudioReader, cache *match.Cache) error {
	if s.StudioID.Valid {
		return nil
	}
	t := getImageFileTagger(s, cache)
	return t.tagStudios(studioReader, func(subjectID, otherID int) (bool, error) {
		return addImageStudio(rw, subjectID, otherID)
	})
}
func ImageStudios ( s * models . Image , rw models . ImageReaderWriter , studioReader models . StudioReader , cache * match . Cache ) error { if s . StudioID . Valid { return nil } t := getImageFileTagger ( s , cache ) return t . tagStudios ( studioReader , func ( subjectID , otherID int ) ( bool , error ) { return addImageStudio ( rw , subjectID , otherID ) } ) }
ImageStudios tags the provided image with the first studio whose name matches the image's path.
ImageStudios tags the provided image with the first studio whose name matches the image ' s path .
// don't modify