def test_make_file(self): # warning s1 = actor.actor("/wiki/aha") s1.set_age(-1) # good s2 = actor.actor('/wiki/Willie_Aames') s2.set_age(90) s2.set_gross('128238') s3 = actor.actor('/wiki/Quinton_Aaron') s3.set_age(100) s4 = actor.actor("/wiki/aho") s4.set_age(20) # warning m1 = movie.movie('/wiki/blablablbalblbla') m1.set_year(1800) # good m2 = movie.movie('/wiki/kalklaklaklaklakla') m2.set_year(2000) m2.set_gross(1000000) m3 = movie.movie('/wiki/heihiehiehiehihei') m3.set_year(1950) m3.set_gross(4000) # mutual links s2.add_movie(m2) s3.add_movie(m2) s3.add_movie(m3) m2.add_actor(s2) m2.add_actor(s3) m3.add_actor(s3) actors_ = [] movies_ = [] actors_.append(s1) actors_.append(s2) movies_.append(m1) movies_.append(m2) actors_.append(s3) movies_.append(m3) js.jsonfing(actors_, movies_, 'data_test.json')
def test_movie(self): m1 = movie.movie('/wiki/kalklaklaklaklakla') m1.set_year(2000) assert isinstance(m1, movie.movie) assert m1.valid is False assert m1.title == 'kalklaklaklaklakla' assert m1.year == 2000
async def movie(ctx, *, name): title, year, plot, ty = mv.movie(name) await ctx.send("Title:" + title + "\nYear:" + year + '\nPlot: ' + plot + "\nLink:") if not ty: await ctx.send('https://yst.am/movie/' + title.replace(" ", "-").lower() + "-" + year) else: await ctx.send('https://eztvtorrent.co/series/' + title.replace(" ", "-").lower())
def scrape_movie(g, q, soup, url): if url not in g.movies: g.movies[url] = M.movie(url) g.movies[url].set_gross(util.grab_grossing_from_page(soup)) g.movies[url].set_year(util.get_movie_year(soup)) if len(g.actors) <= 250: for actor_ in util.get_cast(soup): if actor_ not in g.actors: logging.info("New actor: " + actor_) g.actors[actor_] = A.actor(actor_) q.append(actor_) g.movies[url].add_actor(g.actors[actor_]) g.movies[url].set_valid()
def scrape_actor(g, q, soup, url): if url not in g.actors: g.actors[url] = A.actor(url) g.actors[url].set_age(util.grab_age_from_page(soup)) list_movies = util.get_filmography(url, soup) if list_movies is None: g.actors[url].set_valid() return if len(g.movies) <= 120: for movie_ in list_movies: if movie_ not in g.movies: logging.info("New movie:" + movie_) g.movies[movie_] = M.movie(movie_) q.append(movie_) g.actors[url].add_movie(g.movies[movie_]) g.actors[url].set_valid()
def test_graph(self): g = G.graph() assert isinstance(g.actors, dict) assert isinstance(g.movies, dict) g.add_actor('/wiki/aho') s1 = actor.actor('/wiki/aho') s1.set_age(20) m1 = movie.movie('/wiki/kalklaklaklaklakla') m1.set_year(2000) g.add_movie(m1) g.add_edge(s1, m1) g.add_edge(m1, s1) g.adjacency_list() l1 = [s1, m1] g.add_vertices(l1)
def restore(filename_): actor_dict = dict() movie_dict = dict() json_parsed = json.load(open(filename_, 'r')) #for every actor create new for actor_ in json_parsed[1].values(): # Create new actor object from the parsed data new_actor = A.actor(actor_['name']) new_actor.set_age(actor_['age']) new_actor.set_gross(actor_['total_gross']) actor_dict[actor_['name']] = new_actor #for every movie create new for movie_ in json_parsed[0].values(): new_movie = M.movie(movie_['title']) new_movie.set_year(movie_['year']) new_movie.gross = movie_['gross'] cast_list = movie_['actors'] for actor in cast_list: if actor not in actor_dict: continue new_movie.add_actor(actor_dict[actor]) movie_dict[movie_['title']] = new_movie #mutual link again for actor in json_parsed[1].values(): film_list = actor['movies'] for film in film_list: if film not in movie_dict: continue actor_dict[actor['name']].add_movie(movie_dict[film]) return actor_dict, movie_dict