def METHOD_NAME(self, imdb_id: str, language: str = settings.INDEXER_DEFAULT_LANGUAGE, tmdb_primary=False):
    if not tmdb_primary:
        logger.debug(f"Adding movie from imdb id: {imdb_id}")
    existing = self.session.query(movie.IndexerData).filter_by(pk=imdb_id).first()
    if existing:
        logger.debug(f"Movie already existed as {existing.movie.name}")
        return existing.movie
    imdb_object = self.imdb.get_movie(imdb_id)
    tmdb_id = tmdbsimple.find.Find(id=imdb_id).info(external_source="imdb_id")["movie_results"][0]["id"]
    tmdb_object = tmdbsimple.movies.Movies(id=tmdb_id).info()
    if tmdb_primary:
        instance = movie.Movie(tmdb_object["title"], year=tmdb_object["release_date"].split("-")[0])
        if imdb_object["title"] and not instance.name:
            instance.name = imdb_object["title"]
    else:
        instance = movie.Movie(imdb_object["title"], year=imdb_object["year"] or tmdb_object)
        if tmdb_object["release_date"] and not instance.year:
            instance.year = tmdb_object["release_date"].split("-")[0]
        if tmdb_object["title"] and not instance.name:
            instance.name = tmdb_object["title"]
    if tmdb_object["release_date"]:
        instance.date = datetime.datetime.strptime(tmdb_object["release_date"], "%Y-%m-%d").date()
    instance.language = tmdb_object["original_language"] or language
    tmdb_data = movie.IndexerData(site="tmdb", data=tmdb_object, pk=tmdb_id)
    imdb_data = movie.IndexerData(site="imdb", data=imdb_object, pk=imdb_id)
    imdb_genres = self.imdb.get_title_genres(imdb_id)["genres"]
    def add_imdb_genres():
        for genre in imdb_genres:
            logger.debug(f"Adding imdb genre {genre}")
            imdb_data.genres.append(movie.Genres(pk=genre))
        instance.indexer_data.append(imdb_data)
    def add_tmdb_genres():
        for genre in tmdb_object["genres"]:
            if genre["name"] not in imdb_genres:
                logger.debug(f'Adding tmdb genre {genre["name"]}')
                tmdb_data.genres.append(movie.Genres(pk=genre["name"]))
        instance.indexer_data.append(tmdb_data)
    if tmdb_primary:
        add_tmdb_genres()
        add_imdb_genres()
    else:
        add_imdb_genres()
        add_tmdb_genres()
    self.commit(instance)
    logger.debug(f"Returning instance for {instance.name}")
    return instance