コード例 #1
0
    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')
コード例 #2
0
 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
コード例 #3
0
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())
コード例 #4
0
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()
コード例 #5
0
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()
コード例 #6
0
    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)
コード例 #7
0
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