コード例 #1
0
    def test_movie_main_page_id_1111018(self):
        m = Movie(id=1111018)
        m.get_content('main_page')
        self.assertEqual(m.year, 2019)
        self.assertEqual(m.title, 'Чудотворцы')

        self.assertEqual(m.genres, ['комедия', 'фэнтези', '...слова'])
        self.assertEqual(m.countries, ['США'])

        self.assertEqual(m.id, 1111018)
        self.assertEqual(m.title_en, 'Miracle Workers')
        self.assertEqual(m.plot,
                         'Небесная канцелярия Бога — масштабный офис с множеством отделов и сотрудников, работающих в атмосфере цейтнота и многозадачности. Есть даже HR и напоминающий службу технической поддержки отдел обработки молитв. Именно его служащие, ангелы Элиза и Крэйг, берутся за спасение Земли, когда приунывший Господь вдруг решает её погубить. Теперь у ангелов есть две недели, чтобы соединить несоединимое — двух одиноких людей в пару — и доказать, что человечество вовсе не безнадежно и достойно существования.')
        self.assertEqual(m.runtime, 20)

        self.assertEqual(m.rating, 7.6)
        self.assertEqual(m.imdb_rating, 7.0)
        self.assertGreaterEqual(m.votes, 47000)
        self.assertGreaterEqual(m.imdb_votes, 7000)
        self.assertEqual(m.tagline, "«On the Trillionth Day...God Quit»")
        self.assertIsNone(m.marketing)
        self.assertEqualPersons(
            m.actors,
            ['Дэниэл Рэдклифф', 'Джеральдин Висванатхан', 'Каран Сони', 'Стив Бушеми', 'Джон Басс',
            'Лолли Адефоп', 'Саша Компере', 'Питер Серафинович', 'Джэми Деметриу', 'Майк Данстон']
        )
        self.assertEqualPersons(m.directors, ['Дэн Шимпф', 'Райан Кейс', 'Морис Мэрэбл'])
        self.assertEqualPersons(m.screenwriters, ['Саймон Рич', 'Лукас Гарднер', 'Хезер Энн Кэмпбелл'])
        self.assertEqualPersons(m.producers, ['Лорн Майклз', 'Стив Бушеми', 'Кэти Дженсон'])
        self.assertEqualPersons(m.operators, ['Блейк МакКлюр', 'Брайан Бёргойн'])
        self.assertEqualPersons(m.art_direction_by, ['Тодд Джеффри', 'Дэйв Эрроусмит', 'Марисса Легизамон'])
        self.assertEqualPersons(m.editing_by, ['Роб Барнетт', 'Райан Браун', 'Джессика Брунетто'])
コード例 #2
0
ファイル: core.py プロジェクト: antonkoatl/MvCatalog
    def run(self):
        '''
        Initialise the runner function with passed args, kwargs.
        '''

        # Retrieve args/kwargs here; and fire processing using them
        try:
            item = Movie(id=self.id)
            image = None

            item.get_content('posters')
            url = item.posters[0] if len(item.posters) > 0 else None
            if url:
                req = urllib.request.urlopen(url, timeout=3)
                if not url[7:] in req.geturl():
                    image = b''
                else:
                    image = req.read()
        except:
            traceback.print_exc()
            exctype, value = sys.exc_info()[:2]
            #self.signals.error.emit((exctype, value, traceback.format_exc()))
            self.signals.result.emit(b'', self.id)
        else:
            self.signals.result.emit(
                image, self.id)  # Return the result of the processing
        finally:
            self.signals.finished.emit()
コード例 #3
0
    def test_movie_by_id_1552(self):
        m = Movie(id=1552)
        m.get_content('main_page')
        # m.get_content('trailers')

        self.assertEqual(m.profit_russia, 41000)
        self.assertEqual(m.budget, 10000000)
コード例 #4
0
    def test_movie_cast(self):
        """
        Test of movie cast source page
        """
        m = Movie(id=4220)
        m.get_content('cast')

        self.assertEqual(len(m.cast), 7)
        self.assertGreaterEqual(len(m.cast['director']), 1)
        self.assertGreaterEqual(len(m.cast['actor']), 49)
        self.assertGreaterEqual(len(m.cast['producer']), 4)
        self.assertGreaterEqual(len(m.cast['writer']), 3)
        self.assertGreaterEqual(len(m.cast['operator']), 2)
        self.assertGreaterEqual(len(m.cast['design']), 1)
        self.assertGreaterEqual(len(m.cast['editor']), 1)

        self.assertEqual(m.cast['actor'][0].person.id, 8986)
        self.assertEqual(m.cast['actor'][0].person.name, 'Питер Фонда')
        self.assertEqual(m.cast['actor'][0].person.name_en, 'Peter Fonda')
        self.assertEqual(m.cast['actor'][0].name, 'Wyatt')

        # в титрах: ...
        self.assertEqual(m.cast['actor'][13].person.name, 'Сэнди Браун Уайет')
        self.assertEqual(m.cast['actor'][13].person.name_en, 'Sandy Brown Wyeth')
        self.assertEqual(m.cast['actor'][13].name, 'Joanne')
コード例 #5
0
def search_kp_id(kp_id):
    # film = Film()
    print('here')
    print(kp_id)
    m = Movie(id=kp_id)
    m.get_content('main_page')
    # print (m)
    # print (m.title)
    # print (m.release)
    # # print (m.)
    # print (m.series)
    # print (m.actors)
    # print (m.profit_russia)
    # print (m.profit_world)
    dir_name = m.directors[0]
    dir_kp_id = m.directors[0].id
    # l = dir(m)
    # print (l)
    # d = m.__dict__
    # print (d)
    # print (m.directors)
    director, created = Director.objects.get_or_create(name=dir_name,
                                                       kp_id=dir_kp_id)
    print(created)

    film = Film(director=director, **clean_kp_film(m))
    # print (film, created)
    # video_instance, created = Video.objects.update_or_create(video_id=att['id'],
    #                                                       owner_id=att['owner_id'],
    #                                                       defaults=video_data_clean)
    # d = check_or_create_director(dir_name,kp_id)
    # f = Film (director = d, **clean_kp_film(m))
    # f.save()
    return film
コード例 #6
0
ファイル: views.py プロジェクト: dan1keen/djangoMovies
def single_page(request, movie_id):
    conn = http.client.HTTPSConnection("api.themoviedb.org")
    tmdb3 = TMDb()
    tmdb3.api_key = 'bf4a7e22bb42072d024a9c1b6f88597f'
    movie = Movie()
    details = movie.details(movie_id)
    credits = movie.credits(movie_id)

    conn.request(
        "GET",
        "/3/movie/" + str(movie_id) + "/translations?api_key=" + tmdb3.api_key)
    res = conn.getresponse()
    data = res.read()
    json_data = json.loads(data)
    translations = json_data['translations']
    rus = []
    for indx in range(0, 10):
        if translations[indx]['iso_639_1'] == 'ru':
            rus = translations[indx]

    context = {
        'details': details,
        'credits': credits,
        "rus": rus,
    }

    return render(request, "kinopoiskapi/single.html", context)
コード例 #7
0
ファイル: movie.py プロジェクト: idress4weather/kinopoiskpy
    def test_movie_main_page_id_278229(self):
        """
        Test of movie manager, movie obtain by id (not via search)
        """
        m = Movie(id=278229)
        m.get_content('main_page')
        # m.get_content('trailers')

        self.assertEqual(m.id, 278229)
        self.assertEqual(m.year, 2007)
        self.assertEqual(m.title, 'Без цензуры')
        self.assertEqual(m.title_en, 'Redacted')
        self.assertEqual(
            m.plot,
            'В центре картины — небольшой отряд американских солдат на контрольно-пропускном пункте в Ираке. Причём восприятие их истории постоянно меняется. Мы видим события глазами самих солдат, представителей СМИ, иракцев и понимаем, как на каждого из них влияет происходящее, их встречи и столкновения друг с другом.'
        )
        self.assertEqual(m.runtime, 90)
        self.assertEqual(m.tagline,
                         '«Фильм, запрещенный к прокату во многих странах»')
        # self.assertEqual(len(m.trailers), 4)
        # self.assertEqual(m.trailers[0].id, 't170078')
        # self.assertEqual(m.trailers[0].file, '278229/kinopoisk.ru-Redacted-170078.mp4')
        # self.assertEqual(m.trailers[0].preview_file, '278229/3_6166.jpg')
        # self.assertEqual(m.trailers[0].dom, 'tr')
        self.assertEqualPersons(m.actors, [
            'Иззи Диаз', 'Роб Дивейни', 'Ти Джонс', 'Анас Веллман',
            'Майк Фигуроа', 'Яналь Кассай', 'Дхиая Калиль', 'Кел О’Нил',
            'Дэниэл Стюарт-Шерман', 'Патрик Кэрролл'
        ])
コード例 #8
0
    def test_movie_main_page_id_746251(self):
        m = Movie(id=746251)
        m.get_content('main_page')
        self.assertEqual(m.year, None)
        self.assertEqual(m.title, 'Ловкость')

        self.assertEqual(m.genres, ['драма'])
        self.assertEqual(m.countries, ['США'])
コード例 #9
0
ファイル: main.py プロジェクト: denisSurkov/telegramBotMovies
def get_movies_desc(*films):
    # print(films)
    dict_to_return = {}

    for film in films:
        movie = Movie(id=film.id)
        movie.get_content("main_page")

        dict_to_return.update({movie.title: movie})

    return dict_to_return
コード例 #10
0
ファイル: views.py プロジェクト: dan1keen/djangoMovies
def index(request):
    tmdb3 = TMDb()
    tmdb3.api_key = 'bf4a7e22bb42072d024a9c1b6f88597f'

    movie = Movie()
    popular = movie.popular()
    for p in popular:
        print(p.title)
        print(p.poster_path)
        print("===================BREAKLINE=====================")

    context = {'popular': popular}
    return render(request, "kinopoiskapi/kinopoisk.html", context)
コード例 #11
0
ファイル: movie.py プロジェクト: Dizantip/kinopoiskpy
    def test_movie_main_page_id_1005878(self):
        """
        Test of movie manager, movie obtain by id (not via search)
        """
        m = Movie(id=1005878)
        m.get_content('main_page')

        self.assertEqual(m.id, 1005878)
        self.assertEqual(m.year, 2019)
        self.assertEqual(m.title, 'Король Лев')
        self.assertEqual(m.title_en, 'The Lion King')
        self.assertEqual(
            m.plot,
            'История об отважном львенке по имени Симба. Знакомые с детства герои взрослеют, влюбляются, познают себя и окружающий мир, совершают ошибки и делают правильный выбор.'
        )
        self.assertEqual(m.runtime, 118)

        self.assertEqual(m.rating, 7.158)
        self.assertEqual(m.imdb_rating, 6.90)
        self.assertGreaterEqual(m.votes, 60604)
        self.assertGreaterEqual(m.imdb_votes, 169531)

        self.assertEqual(m.tagline, "«The King Has Returned»")

        self.assertEqual(
            m.genres,
            ['мультфильм', 'мюзикл', 'драма', 'приключения', 'семейный'])
        self.assertEqual(m.countries, ['США'])
        self.assertGreaterEqual(m.budget, 260000000)
        self.assertIsNone(m.marketing)
        self.assertGreaterEqual(m.profit_usa, 543638043)
        self.assertGreaterEqual(m.profit_russia, 47106883)
        self.assertGreaterEqual(m.profit_world, 1656943394)

        self.assertEqualPersons(m.actors, [
            'Джеймс Эрл Джонс', 'Дональд Гловер', 'Чиветель Эджиофор',
            'Джон Оливер', 'Джон Кани', 'Элфри Вудард', 'Джейдон Маккрэри',
            'Шахади Райт Джозеф', 'Пенни Джонсон', 'Кигэн-Майкл Ки'
        ])
        self.assertEqualPersons(m.directors, ['Джон Фавро'])
        self.assertEqualPersons(
            m.screenwriters,
            ['Джефф Натансон', 'Ирен Меччи', 'Джонатан Робертс'])
        self.assertEqualPersons(m.producers,
                                ['Джон Бартники', 'Дэбби Босси', 'Джон Фавро'])
        self.assertEqualPersons(m.operators, ['Калеб Дешанель'])
        self.assertEqualPersons(m.composers, ['Ханс Циммер'])
        self.assertEqualPersons(m.art_direction_by,
                                ['Джеймс Чинланд', 'Влад Бина'])
        self.assertEqualPersons(m.editing_by, ['Адам Герстл', 'Марк Ливолси'])
コード例 #12
0
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)
コード例 #13
0
ファイル: kino.py プロジェクト: Mauzeroff/bot
def films(message):
    movie_list = Movie.objects.search(message.text)
    title = movie_list[0].title
    id_film = movie_list[0].id

    movie = Movie(id=id_film)

    for item in movie_list[:8]:
        title = item.title
        year = item.year
        description = item.plot
        rating = item.rating
        google = "https://google.com/?#q=" + "" + title

        if year is None and description == "" and rating is None:
            bot.send_message(
                message.chat.id,
                "Название: " + title +
                "\nГод выхода: не найдено\nМини-описание: " + "не найдено" +
                "\nОценка: " + "не найдено\n" +
                "Посмотреть и почитать более подробную информацию можно здесь: "
                + "https://www.kinopoisk.ru/film/" + str(id_film) +
                "\nИ здесь: " + google,
                parse_mode="html")

        else:
            bot.send_message(message.chat.id,
                             "Название: " + title + "\nГод выхода: " +
                             str(year) + "\nМини-описание: " + description +
                             "\nОценка: " + str(rating),
                             parse_mode="html")
コード例 #14
0
    def test_movie_trailers(self):
        """
        Test of movie trailers source page
        """
        m = Movie(id=521689)
        m.get_content('trailers')

        self.assertGreaterEqual(len(m.trailers), 11)
        trailers_ids = [trailer.id for trailer in m.trailers]
        trailers_files = [trailer.file for trailer in m.trailers]

        self.assertTrue('76485' in trailers_ids)
        self.assertTrue('gettrailer.php?quality=hd&trailer_id=76485' in trailers_files)

        self.assertTrue('74666' in trailers_ids)
        self.assertTrue('gettrailer.php?quality=hd&trailer_id=74666' in trailers_files)
        self.assertEqual(m.youtube_ids, ['e4f5keHX_ks'])
コード例 #15
0
    def parse(self):
        from kinopoisk.movie import Movie
        note = self.extract('note').strip().split('...')
        role_name = None
        if len(note) > 1:
            role_name = self.prepare_str(note[1]).replace(
                ', озвучка', '').replace('; короткометражка', '')

        self.instance.name = role_name
        self.instance.movie = Movie.get_parsed('career_link', self.content)

        self.instance.set_source('role_link')
コード例 #16
0
def load_movie(movie_name):
    movie_id = Movie.objects.search(movie_name)[0].id
    movie = Movie(movie_id)
    movie.get_content('main_page')
    film_info = {
        "name": movie_name,
        "title": movie.title,
        "title_en": movie.title_en,
        "year": movie.year,
        "rating": movie.rating,
        "info": movie.plot,
        "country": movie.countries,
        "budget": movie.budget,
        "actors": movie.actors,
        "directors": movie.directors,
        "url": f"https://www.kinopoisk.ru/film/{movie_id}",
        "poster": f"https://www.kinopoisk.ru/images/film_big/{movie_id}.jpg",
        "genres": movie.genres,
        "runtime": movie.runtime,
    }
    return film_info, movie
コード例 #17
0
ファイル: main.py プロジェクト: balamou/Film_backend
def get_movie(title):
    movies = find_movies_matching(title)

    if len(movies) == 0:
        raise Exception("No movies found with title '%s'" % title)  # ERROR

    time.sleep(12)
    movie = Movie(id=movies[0].id)
    time.sleep(2)
    movieInfo = get_film_info(movie)

    return json_stringify(movieInfo)
コード例 #18
0
    def test_movie_main_page_id_258687(self):
        """
        Test of movie manager, movie obtain by id (not via search)
        """
        m = Movie(id=258687)
        m.get_content('main_page')
        m.get_content('trailers')

        trailers_ids = [trailer.id for trailer in m.trailers]
        trailers_files = [trailer.file for trailer in m.trailers]

        self.assertEqual(m.id, 258687)
        self.assertEqual(m.year, 2014)
        self.assertEqual(m.title, 'Интерстеллар')
        self.assertEqual(m.title_en, 'Interstellar')
        self.assertEqual(m.plot,
                         'Когда засуха приводит человечество к продовольственному кризису, коллектив исследователей и учёных отправляется сквозь червоточину (которая предположительно соединяет области пространства-времени через большое расстояние) в путешествие, чтобы превзойти прежние ограничения для космических путешествий человека и переселить человечество на другую планету.')
        self.assertEqual(m.runtime, 169)
        self.assertEqual(m.tagline, '«Следующий шаг человечества станет величайшим»')

        self.assertGreater(len(m.trailers), 70)
        self.assertTrue('109352' in trailers_ids)
        self.assertTrue('gettrailer.php?quality=hd&trailer_id=109352'in trailers_files)

        self.assertEqual(m.genres, ['фантастика', 'драма', 'приключения'])
        self.assertEqual(m.countries, ['США', 'Великобритания', 'Канада'])
        self.assertGreaterEqual(m.profit_usa, 158445319)
        self.assertGreaterEqual(m.profit_russia, 24110578)
        self.assertGreaterEqual(m.profit_world, 592845319)

        self.assertEqualPersons(m.directors, ['Кристофер Нолан'])
        self.assertEqualPersons(m.screenwriters, ['Джонатан Нолан', 'Кристофер Нолан'])
        self.assertEqualPersons(m.producers, ['Кристофер Нолан', 'Линда Обст', 'Эмма Томас'])
        self.assertEqualPersons(m.operators, ['Хойте Ван Хойтема'])
        self.assertEqualPersons(m.composers, ['Ханс Циммер'])
コード例 #19
0
ファイル: movie.py プロジェクト: Ranc58/kinopoiskpy
    def test_movie_main_page_id_278229(self):
        """
        Test of movie manager, movie obtain by id (not via search)
        """
        m = Movie(id=278229)
        m.get_content('main_page')
        m.get_content('trailers')

        trailers_ids = [trailer.id for trailer in m.trailers]
        trailers_files = [trailer.file for trailer in m.trailers]

        self.assertEqual(m.id, 278229)
        self.assertEqual(m.year, 2007)
        self.assertEqual(m.title, 'Без цензуры')
        self.assertEqual(m.title_en, 'Redacted')
        self.assertEqual(m.plot,
                         'В центре картины — небольшой отряд американских солдат на контрольно-пропускном пункте в Ираке. Причём восприятие их истории постоянно меняется. Мы видим события глазами самих солдат, представителей СМИ, иракцев и понимаем, как на каждого из них влияет происходящее, их встречи и столкновения друг с другом.')
        self.assertEqual(m.runtime, 90)
        self.assertEqual(m.tagline, '«Фильм, запрещенный к прокату во многих странах»')
        self.assertGreater(len(m.trailers), 3)
        self.assertTrue('gettrailer.php?quality=hd&trailer_id=4476' in trailers_files)
        self.assertTrue('4476' in trailers_ids)
        self.assertEqualPersons(m.actors, ['Иззи Диаз', 'Роб Дивейни', 'Ти Джонс', 'Анас Веллман', 'Майк Фигуроа',
                                           'Яналь Кассай', 'Дхиая Калиль', 'Кел О’Нил', 'Дэниэл Стюарт-Шерман',
                                           'Патрик Кэрролл'])
コード例 #20
0
ファイル: movie.py プロジェクト: Dizantip/kinopoiskpy
    def test_movie_main_page_id_6877(self):
        """
        Test of movie manager, movie obtain by id (not via search)
        """
        m = Movie(id=6877)
        m.get_content('main_page')
        m.get_content('trailers')

        trailers_ids = [trailer.id for trailer in m.trailers]
        trailers_files = [trailer.file for trailer in m.trailers]

        self.assertEqual(m.id, 6877)
        self.assertEqual(m.year, 2004)
        self.assertEqual(m.title, 'Терминал')
        self.assertEqual(m.title_en, 'The Terminal')
        self.assertEqual(
            m.plot,
            'Фильм рассказывает историю Виктора Наворски, отправившегося в Нью-Йорк из Восточной Европы. Пока Виктор летел в самолете, на его родине произошел государственный переворот. Оказавшись в международном аэропорту имени Джона Кеннеди с паспортом ниоткуда, он не имеет права въехать в Соединенные Штаты и должен коротать свои дни и ночи на скамейках у выхода 67, пока война в его родной стране не закончится. Тянутся недели и месяцы, и Виктор обнаруживает, что небольшой мирок терминала может быть наполнен абсурдом, щедростью, амбициями, развлечениями, желанием сохранить свой статус, интуитивной прозорливостью и даже любовью к очаровательной стюардессе Амелии. Виктору удается завоевать симпатии всех, кроме одного человека — чиновника аэропорта Фрэнка Диксона, который считает его бюрократической ошибкой, проблемой, которую он не может контролировать, но от которой жаждет избавиться.'
        )
        self.assertEqual(m.runtime, 124)

        self.assertEqual(m.rating, 8.069)
        self.assertEqual(m.imdb_rating, 7.30)
        self.assertGreaterEqual(m.votes, 214662)
        self.assertGreaterEqual(m.imdb_votes, 381282)

        self.assertEqual(m.tagline, "«Жизнь - это ожидание»")
        self.assertEqual(len(m.trailers), 4)
        self.assertIn('506', trailers_ids)
        self.assertIn('gettrailer.php?quality=hd&trailer_id=506',
                      trailers_files)

        self.assertEqual(m.genres, ['драма', 'мелодрама', 'комедия'])
        self.assertEqual(m.countries, ['США'])
        self.assertGreaterEqual(m.budget, 60000000)
        self.assertGreaterEqual(m.marketing, 35000000)
        self.assertGreaterEqual(m.profit_usa, 77872883)
        self.assertGreaterEqual(m.profit_russia, 1880000)
        self.assertGreaterEqual(m.profit_world, 218685607)

        self.assertEqualPersons(m.actors, [
            'Том Хэнкс', 'Кэтрин Зета-Джонс', 'Стэнли Туччи', 'Чи МакБрайд',
            'Диего Луна', 'Бэрри Шебака Хенли', 'Кумар Паллана', 'Зои Салдана',
            'Эдди Джонс', 'Джуд Чикколелла'
        ])
        self.assertEqualPersons(m.directors, ['Стивен Спилберг'])
        self.assertEqualPersons(
            m.screenwriters,
            ['Саша Джерваси', 'Джефф Натансон', 'Эндрю Никкол'])
        self.assertEqualPersons(
            m.producers,
            ['Лори МакДональд', 'Уолтер Ф. Паркс', 'Стивен Спилберг'])
        self.assertEqualPersons(m.operators, ['Януш Камински'])
        self.assertEqualPersons(m.composers, ['Джон Уильямс'])
        self.assertEqualPersons(
            m.art_direction_by,
            ['Алекс Макдауэлл', 'Кристофер Бериэн-Мор', 'Брэд Рикер'])
        self.assertEqualPersons(m.editing_by, ['Майкл Кан'])
コード例 #21
0
    def test_movie_cast_1(self):
        """
        Test of movie cast source page
        """
        m = Movie(id=63991)
        m.get_content('cast')

        self.assertEqual(len(m.cast), 11)
        self.assertGreaterEqual(len(m.cast['director']), 1)
        self.assertGreaterEqual(len(m.cast['actor']), 49)
        self.assertGreaterEqual(len(m.cast['producer']), 4)
        self.assertGreaterEqual(len(m.cast['voice_director']), 1)
        self.assertGreaterEqual(len(m.cast['translator']), 1)
        self.assertGreaterEqual(len(m.cast['voice']), 4)
        self.assertGreaterEqual(len(m.cast['writer']), 3)
        self.assertGreaterEqual(len(m.cast['operator']), 1)
        self.assertGreaterEqual(len(m.cast['composer']), 1)
        self.assertGreaterEqual(len(m.cast['design']), 1)
        self.assertGreaterEqual(len(m.cast['editor']), 1)

        # with $
        self.assertEqual(m.cast['actor'][0].person.id, 6245)
        self.assertEqual(m.cast['actor'][0].person.name, 'Джонни Депп')
        self.assertEqual(m.cast['actor'][0].person.name_en, 'Johnny Depp')
        self.assertEqual(m.cast['actor'][0].name, 'Jack Sparrow')

        # no mention
        self.assertEqual(m.cast['actor'][16].person.id, 24683)
        self.assertEqual(m.cast['actor'][16].name, 'Captain Hector Barbossa')

        # voice
        self.assertEqual(m.cast['actor'][63].person.id, 288908)
        self.assertEqual(m.cast['actor'][63].name, 'Parrot')
        self.assertEqual(m.cast['actor'][63].voice, True)

        # with $ and no name
        self.assertEqual(m.cast['producer'][0].name, '')
コード例 #22
0
ファイル: main.py プロジェクト: balamou/Film_backend
def get_episode_data(title):
    movies = find_movies_matching(title)
    if len(movies) == 0:
        raise Exception("No shows found with title '%s'" % title)  # ERROR

    time.sleep(12)
    movie = Movie(id=movies[0].id)
    time.sleep(2)
    seriesInfo = get_film_info(movie)
    time.sleep(8)
    episode_data = parse_episodes(movie)

    seriesInfo["title"] = movies[0].title.strip(
    )  # override title (to avoid brackets)
    return {"seriesInfo": seriesInfo, "seasons": episode_data}
コード例 #23
0
    def parse(self):
        from kinopoisk.movie import Movie

        self.instance.movie = Movie.get_parsed('career_link', self.content)

        role = self.extract('note', to_str=True)
        role = self.split_triple_dots(role)

        role_name = None
        if len(role) > 1:
            role_name = self.prepare_str(role[1]).replace(', озвучка', '').replace('; короткометражка', '')
            if 'короткометражка' in role[1]:
                self.instance.movie.genres.append('короткометражка')
            if 'озвучка' in role[1]:
                self.instance.voice = True

        self.instance.name = role_name

        self.instance.set_source('role_link')
コード例 #24
0
ファイル: 12.1.py プロジェクト: RuOneYT/name
def search(update, context):
    context.bot.send_message(chat_id=update.effective_chat.id, text = 'Ищу для вас информацию')
    a = ' '.join(context.args)
    movie_list = Movie.objects.search(a)
    movie = Movie(id = movie_list[0].id)
    movie.get_content("main_page")
    movie.get_content('posters')
    posters = movie.posters
    context.bot.send_photo(chat_id= update.effective_chat.id, photo=posters[0])
    movie.plot
    b = movie.plot
    url = "https://kinopoisk.ru/film/" + str(movie_list[0].id)
    context.bot.send_message(chat_id=update.effective_chat.id, text = b)
    context.bot.send_message(chat_id=update.effective_chat.id, text = f'Ссылка на фильм:{url}')
コード例 #25
0
    def test_movie_main_page_id_4374(self):
        """
        Test of movie manager, movie obtain by id (not via search)
        """
        m = Movie(id=4374)
        m.get_content('main_page')
        m.get_content('trailers')

        trailers_ids = [trailer.id for trailer in m.trailers]
        trailers_files = [trailer.file for trailer in m.trailers]

        self.assertEqual(m.id, 4374)
        self.assertEqual(m.year, 2003)
        self.assertEqual(m.title, 'Пираты Карибского моря: Проклятие Черной жемчужины')
        self.assertEqual(m.title_en, 'Pirates of the Caribbean: The Curse of the Black Pearl')
        self.assertEqual(m.plot,
                         'Жизнь харизматичного авантюриста, капитана Джека Воробья, полная увлекательных приключений, резко меняется, когда его заклятый враг — капитан Барбосса — похищает корабль Джека, Черную Жемчужину, а затем нападает на Порт Ройал и крадет прекрасную дочь губернатора, Элизабет Свонн. Друг детства Элизабет, Уилл Тернер, вместе с Джеком возглавляет спасательную экспедицию на самом быстром корабле Британии, в попытке вызволить девушку из плена и заодно отобрать у злодея Черную Жемчужину. Вслед за этой парочкой отправляется амбициозный коммодор Норрингтон, который к тому же числится женихом Элизабет. Однако Уилл не знает, что над Барбоссой висит вечное проклятие, при лунном свете превращающее его с командой в живых скелетов. Проклятье будет снято лишь тогда, когда украденное золото Ацтеков будет возвращено пиратами на старое место.')
        self.assertEqual(m.runtime, 143)

        self.assertEqual(m.rating, 8.335)
        self.assertEqual(m.imdb_rating, 8.00)
        self.assertGreaterEqual(m.votes, 327195)
        self.assertGreaterEqual(m.imdb_votes, 859395)

        self.assertEqual(m.tagline,
                         "«Over 3000 Islands of Paradise -- For Some it's A Blessing -- For Others... It's A Curse»")
        self.assertGreater(len(m.trailers), 2)
        self.assertTrue('529' in trailers_ids)
        self.assertTrue('gettrailer.php?quality=hd&trailer_id=529' in trailers_files)

        self.assertEqual(m.genres, ['фэнтези', 'боевик', 'приключения'])
        self.assertEqual(m.countries, ['США'])
        self.assertGreaterEqual(m.budget, 140000000)
        self.assertGreaterEqual(m.marketing, 40000000)
        self.assertGreaterEqual(m.profit_usa, 305413918)
        self.assertGreaterEqual(m.profit_russia, 9060000)
        self.assertGreaterEqual(m.profit_world, 654264015)

        self.assertEqualPersons(m.actors,
                                ['Джонни Депп', 'Джеффри Раш', 'Орландо Блум', 'Кира Найтли', 'Джек Девенпорт',
                                 'Кевин МакНэлли', 'Джонатан Прайс', 'Ли Аренберг', 'Макензи Крук', 'Дэвид Бэйли'])
        self.assertEqualPersons(m.directors, ['Гор Вербински'])
        self.assertEqualPersons(m.screenwriters, ['Тед Эллиот', 'Терри Россио', 'Стюарт Битти'])
        self.assertEqualPersons(m.producers, ['Джерри Брукхаймер', 'Пол Дисон', 'Брюс Хендрикс'])
        self.assertEqualPersons(m.operators, ['Дариуш Вольски'])
        self.assertEqualPersons(m.composers, ['Клаус Бадельт'])
        self.assertEqualPersons(m.art_direction_by, ['Брайан Моррис', 'Дерек Р. Хилл', 'Майкл Пауэлс'])
        self.assertEqualPersons(m.editing_by, ['Стивен Е. Ривкин', 'Артур Шмидт', 'Крэйг Вуд'])
コード例 #26
0
    def test_movie_similar_movies(self):
        m = Movie(id=195524)  # I Am Legend / Я – легенда
        m.get_content('similar_movies')

        self.assertTrue(m.similar_movies)  # Check that the list is not empty
コード例 #27
0
 def test_movie_series_main_page_bigband(self):
     m_id = 306084
     m = Movie(id=m_id)  # The Big Bang Theory / Теория большого взрыва
     m.get_content('main_page')
     self.assertTrue(m.series)
     self.assertEqual(m_id, m.id)
コード例 #28
0
 def test_movie_series_main_page_kickass(self):
     m = Movie(id=419200)  # Kick-Ass / Пипец
     m.get_content('main_page')
     self.assertFalse(m.series)
     self.assertRaises(ValueError, m.get_content, ('series',))
コード例 #29
0
 def test_movie_repr(self):
     instance = Movie(title='Молчание ягнят', title_en='The Silence of the Lambs', year='1990')
     self.assertEqual(instance.__repr__(), 'Молчание ягнят (The Silence of the Lambs), 1990')
コード例 #30
0
 def test_movie_main_page_empty_actors(self):
     m = Movie(id=926005)
     m.get_content('main_page')
     self.assertEqual(m.actors, [])