'Get Movie object by parsing imdb page and save movie into the database.
:param imdb_url: IMDB url
:param session: Session to be used
:return: Newly added Movie'

def _parse_new_movie(self, imdb_url, session):

    parser = ImdbParser()
    parser.parse(imdb_url)
    movie = Movie()
    movie.photo = parser.photo
    movie.title = parser.name
    movie.original_title = parser.original_name
    movie.score = parser.score
    movie.votes = parser.votes
    movie.year = parser.year
    movie.mpaa_rating = parser.mpaa_rating
    movie.plot_outline = parser.plot_outline
    movie.url = imdb_url
    for name in parser.genres:
        genre = session.query(Genre).filter((Genre.name == name)).first()
        if (not genre):
            genre = Genre(name)
        movie.genres.append(genre)
    for (index, name) in enumerate(parser.languages):
        language = session.query(Language).filter((Language.name == name)).first()
        if (not language):
            language = Language(name)
        movie.languages.append(MovieLanguage(language, prominence=index))
    for (imdb_id, name) in parser.actors.items():
        actor = session.query(Actor).filter((Actor.imdb_id == imdb_id)).first()
        if (not actor):
            actor = Actor(imdb_id, name)
        movie.actors.append(actor)
    for (imdb_id, name) in parser.directors.items():
        director = session.query(Director).filter((Director.imdb_id == imdb_id)).first()
        if (not director):
            director = Director(imdb_id, name)
        movie.directors.append(director)
    for (imdb_id, name) in parser.writers.items():
        writer = session.query(Writer).filter((Writer.imdb_id == imdb_id)).first()
        if (not writer):
            writer = Writer(imdb_id, name)
        movie.writers.append(writer)
    movie.updated = datetime.now()
    session.add(movie)
    return movie
