class TestParseActor(TestCase): id = "id" name = "name" url = "url" actor_details = { "id": id, "name": name, "url": url } expected = Actor(fid=id, name=name, url=url) def test_parses_successfully(self): self.assertEqual(self.expected, parse_actor(self.actor_details))
def add_film(): form = add_film_form.AddFilmForm() if form.validate_on_submit(): session = db_session.create_session() movie = Movie(id=form.kp_id.data) if_exist = False try: movie.get_content('main_page') except Exception: if_exist = False else: if_exist = True if if_exist and len(session.query(Film.Film).filter(Film.Film.kp_id == form.kp_id.data).all()) == 0: film = Film.Film(movie.id, movie.title, movie.title_en, movie.plot, movie.year) session.add(film) session.commit() session = db_session.create_session() actors_list = movie.actors actors_to_add = actors_list.copy() actors_list = list(map(str, actors_list)) for actor in session.query(Actor.Actor).filter(Actor.Actor.name.in_(actors_list)): actors_list.remove(str(actor.name)) if actor.films != None: actor.films = str(actor.films) + str(film.id) + '/' else: actor.films = str(film.id) + '/' for i in actors_list: actor = Actor.Actor(str(i)) actor.films = str(film.id) + '/' session.add(actor) session.commit() session = db_session.create_session() actors_str = "" for i in actors_to_add: actor_id = str(session.query(Actor.Actor).filter(Actor.Actor.name == str(i)).first().id) actors_str += "/" + actor_id film = session.query(Film.Film).filter(Film.Film.id == film.id).first() if not film.actors: film.actors = actors_str else: film.actors = str(film.actors) + actors_str session.commit() return redirect('/add_film') return render_template("add_film.html", form=form)
def parse_actor(actor_details): return Actor(fid=actor_details["id"], name=actor_details["name"], url=actor_details["url"])