コード例 #1
0
def test_get_single_movie(monkeypatch):
    mock_single_movie = "111111"
    requests_mock = Mock()
    requests_mock.json.return_value = mock_single_movie
    monkeypatch.setattr("tmdb_client.requests.get", requests_mock)
    single_movie = tmdb_client.get_single_movie(movie_id="508442")
    return single_movie == mock_single_movie
コード例 #2
0
def test_get_single_movie(monkeypatch):
    mock_movie = 'Movie 666'
    requests_mock = register_default_mock(monkeypatch)
    response = requests_mock.return_value
    response.json.return_value = mock_movie
    movie = tmdb_client.get_single_movie(movie_id=666)
    assert movie == mock_movie
コード例 #3
0
def movie_details(movie_id):
    #random_cover = tmdb_client.get_random_cover(movie_id)
    details = tmdb_client.get_single_movie(movie_id)
    cast = tmdb_client.get_single_movie_cast(movie_id)
    movie_images = tmdb_client.get_movie_images(movie_id)
    selected_backdrop = random.choice(movie_images['backdrops'])
    return render_template("movie_details.html", movie=details, cast=cast, selected_backdrop=selected_backdrop)
コード例 #4
0
def test_get_single_movie(monkeypatch):
    mock_single_movie = ['Single_movie']
    call_tmdb_api_mock = Mock()
    call_tmdb_api_mock.return_value = mock_single_movie
    monkeypatch.setattr("tmdb_client.call_tmdb_api", call_tmdb_api_mock)
    single_movie = tmdb_client.get_single_movie(movie_id=1)
    assert single_movie == mock_single_movie
コード例 #5
0
def add_to_favorites():
    movie_id = request.form.get("movie_id", "")
    if movie_id:
        FAVORITES.add(movie_id)
        movie = tc.get_single_movie(movie_id)
        movie_title = movie["title"]
        flash(f'Dodano film {movie_title} do listy ulubionych')
    return redirect(url_for('homepage'))
コード例 #6
0
def test_get_single_movie(monkeypatch):
    mock_single_movie = ['Movie 1']
    requests_mock = Mock()
    response = requests_mock.return_value
    response.json.return_value = mock_single_movie
    monkeypatch.setattr("tmdb_client.requests.get", requests_mock)
    single_movie = tmdb_client.get_single_movie(movie_id=1)
    assert single_movie == mock_single_movie
コード例 #7
0
def movie_details(movie_id):
    details = tmdb_client.get_single_movie(movie_id)
    cast = tmdb_client.get_cast(movie_id, how_many=4)
    backdrop = tmdb_client.get_random_backdrop_image(movie_id)
    return render_template("movie_details.html",
                           movie=details,
                           cast=cast,
                           backdrop=backdrop)
コード例 #8
0
ファイル: main.py プロジェクト: DomiBar/movies_catalogue
def movie_details(movie_id):
    details = tmdb_client.get_single_movie(movie_id)
    cast = tmdb_client.get_single_movie_cast(movie_id)[:8]
    images = tmdb_client.get_movie_images(movie_id)
    random_image = random.choice(images['backdrops'])
    return render_template("movie_details.html",
                           movie=details,
                           cast=cast,
                           image=random_image)
コード例 #9
0
def movie_details(movie_id):
    details = tmdb_client.get_single_movie(movie_id)
    cast = tmdb_client.get_single_movie_cast(movie_id)[:12]
    movie_images = tmdb_client.get_movie_images(movie_id)
    selected_backdrop = random.choice(movie_images['backdrops'])['file_path']
    return render_template("movie_details.html",
                           movie=details,
                           cast=cast,
                           selected_backdrop=selected_backdrop)
コード例 #10
0
def movie_details(movie_id: int):
    movie = tmdb_client.get_single_movie(movie_id)
    cast = tmdb_client.get_single_movie_cast(movie_id, 8)

    backdrop = tmdb_client.get_random_movie_backdrop(movie_id)
    if backdrop:
        movie['backdrop_path'] = backdrop

    return render_template("movie_details.html", movie=movie, cast=cast)
コード例 #11
0
def test_get_single_movie(monkeypatch):
    mock_single_movie = {'title': "Batman Forever"}
    requests_mock = Mock()
    response = requests_mock.return_value
    response.json.return_value = mock_single_movie
    monkeypatch.setattr("tmdb_client.requests.get", requests_mock)

    single_movie = tmdb_client.get_single_movie(22)
    assert single_movie == mock_single_movie
コード例 #12
0
ファイル: app.py プロジェクト: artcom-rapa/movies_catalogue
def show_favorites():
    if FAVORITES:
        movies = []
        for movie_id in FAVORITES:
            movie_details = tmdb_client.get_single_movie(movie_id)
            movies.append(movie_details)
    else:
        movies = []
    return render_template("homepage.html", movies=movies)
コード例 #13
0
ファイル: app.py プロジェクト: artcom-rapa/movies_catalogue
def movie_details(movie_id):
    details = tmdb_client.get_single_movie(movie_id)
    cast = tmdb_client.get_single_movie_cast(movie_id, how_many=4)
    backdrops = tmdb_client.get_single_movie_images(movie_id)
    random.shuffle(backdrops['backdrops'])
    return render_template("movie_details.html",
                           movie=details,
                           cast=cast,
                           backdrops=backdrops)
コード例 #14
0
def test_get_single_movie_correct_response(monkeypatch):
    mock_movie = 'Movie1'

    requests_mock = Mock()
    response = requests_mock.return_value
    response.json.return_value = mock_movie

    monkeypatch.setattr('tmdb_client.requests.get', requests_mock)
    movie = get_single_movie(movie_id=1)
    assert movie == mock_movie
コード例 #15
0
def test_get_single_movie_invalid_response(monkeypatch):
    mock_movie = ['Movie1', 'Movie2']

    requests_mock = Mock()
    response = requests_mock.return_value
    response.json.return_value = mock_movie

    monkeypatch.setattr('tmdb_client.requests.get', requests_mock)
    movie = get_single_movie(movie_id=1)
    assert not (movie == mock_movie)
コード例 #16
0
def show_favorites():

    favorite_list = show_favorite()
    list_of_favorites = [get_single_movie(i) for i in favorite_list]
    if not favorite_list:
        flash("You don have favorites movies yet")
        return redirect(url_for('homepage'))

    return render_template("favorites.html",
                           list_of_favorites=list_of_favorites)
コード例 #17
0
def test_get_single_movie_api_not_available(monkeypatch):
    mock_movie = None

    requests_mock = Mock()
    response = requests_mock.return_value
    response.json.return_value = mock_movie

    monkeypatch.setattr('tmdb_client.requests.get', requests_mock)
    movie = get_single_movie(movie_id=1)
    assert movie == None
コード例 #18
0
def movie_details(movie_id):
    number = 6
    movie = tmdb_client.get_single_movie(movie_id)
    cast = tmdb_client.get_casts(movie_id, number)
    images = tmdb_client.get_single_movie_image(movie_id)
    rand_image = random.choice(images)
    return render_template("movie_details.html",
                           movie=movie,
                           cast=cast,
                           rand_image=rand_image)
コード例 #19
0
def movie_details(movie_id):
    movie = tc.get_single_movie(movie_id)
    cast = tc.get_single_movie_cast(movie_id)["cast"][:8]
    images = tc.get_single_movie_images(movie_id)["backdrops"]
    random_image = sample(images, 1)
    image_url = random_image[0]['file_path']
    return render_template("movie_details.html",
                           movie=movie,
                           cast=cast,
                           image_url=image_url)
コード例 #20
0
def movie_details(movie_id):
    details = tmdb_client.get_single_movie(movie_id)
    backdrop_path = details["backdrop_path"]
    base_url_for_backdrop_path = "https://image.tmdb.org/t/p/w500/"
    ready_backdrop_path = f"{base_url_for_backdrop_path}{backdrop_path}"
    cast = tmdb_client.get_single_movie_cast(movie_id)
    return render_template("movie_details.html",
                           movie=details,
                           ready_backdrop_path=ready_backdrop_path,
                           cast=cast)
コード例 #21
0
def homepage():

    selected_list = request.args.get('list_type', "popular")

    buttons = [
        {
            "list_type": "now_playing",
            "active": "",
            "display_text": "now playing"
        },
        {
            "list_type": "popular",
            "active": "",
            "display_text": "popular"
        },
        {
            "list_type": "upcoming",
            "active": "",
            "display_text": "upcoming"
        },
        {
            "list_type": "top_rated",
            "active": "",
            "display_text": "top rated"
        },
        {
            "list_type": "favorites",
            "active": "",
            "display_text": "favorites"
        },
    ]
    """if selected_list not in ["now_playing", "upcoming", "top_rated","favorites"]:
        selected_list = "popular"""

    for button in buttons:
        if button['list_type'] == selected_list:
            button['active'] = 'active'

    if selected_list == "favorites":
        favorite_list = show_favorite()
        list_of_favorites = [get_single_movie(i) for i in favorite_list]
        if not favorite_list:
            flash("You dont have favorites movies", "alert-danger")
            return redirect(url_for("homepage"))
        return render_template("homepage.html",
                               current_list=selected_list,
                               buttons=buttons,
                               list_of_favorites=list_of_favorites)

    else:
        movies = tmdb_client.get_movies(how_many=8, list_type=selected_list)
        return render_template("homepage.html",
                               current_list=selected_list,
                               buttons=buttons,
                               movies=movies)
コード例 #22
0
ファイル: main.py プロジェクト: ErykKnesz/movies_catalogue
def movie_details(movie_id):
    movie = tmdb_client.get_single_movie(movie_id)
    if request.method == "POST":
        if movie not in FAVORITES:
            FAVORITES.append(movie)
            flash(f"Dodano \"{movie['title']}\" do ulubionych!")
        else:
            flash(f"\"{movie['title']}\" już jest w ulubionych!")
        return redirect(url_for("homepage"))
    cast = tmdb_client.get_single_movie_cast(movie_id)
    return render_template("movie_details.html", movie=movie, cast=cast)
コード例 #23
0
def show_favorites():
    movies_list = [
        "upcoming", "top_rated", "popular", "now_playing", "favorites"
    ]
    movies = []
    for i in FAVORITES:
        movie = tc.get_single_movie(i)
        movies.append(movie)
    return render_template("homepage.html",
                           movies=movies,
                           current_list=movies,
                           lists=movies_list)
コード例 #24
0
def movie_details(movie_id):
    details = tmdb_client.get_single_movie(movie_id)
    cast_val = tmdb_client.get_single_movie_cast(movie_id)
    cast = cast_val["cast"]
    movie_images = tmdb_client.get_movie_images(movie_id)
    backdrop = random.choice(movie_images['backdrops'])
    link = backdrop["file_path"]
    selected_backdrop = f'https://image.tmdb.org/t/p/w780/{link}'
    return render_template("movie_details.html",
                           movie=details,
                           cast=cast,
                           picture=selected_backdrop)
コード例 #25
0
def test_get_single_movie(monkeypatch):
    # Lista, którą będzie zwracać przysłonięte "zapytanie do API"
    mock_single_movie = ['title', 'overview', 'budget', 'genre', 'cast']
    
    requests_mock = Mock()
    # Wynik wywołania zapytania do API
    response = requests_mock.return_value
    # Przysłaniamy wynik wywołania metody .json()
    response.json.return_value = mock_single_movie
    monkeypatch.setattr("tmdb_client.requests.get", requests_mock)
    # Testujemy na movie_id=112
    single_movie = tmdb_client.get_single_movie(movie_id=112)
    assert single_movie == mock_single_movie
コード例 #26
0
def movie_full_cast(movie_id):
    details = tmdb_client.get_single_movie(movie_id)
    cast = tmdb_client.get_single_movie_cast(movie_id)
    return render_template("full_cast.html", movie=details, cast=cast)
コード例 #27
0
def test_get_single_movie(monkeypatch):
    mock_movie = ['Movie 1']
    call_tmdb_api(monkeypatch, mock_movie)
    movie = tmdb_client.get_single_movie('531219')
    assert movie == mock_movie
コード例 #28
0
def movie_details(movie_id):
    movie = tmdb_client.get_single_movie(movie_id)
    movie['backdrop_path'] = tmdb_client.get_random_backdrop(movie_id)
    movie_cast = tmdb_client.get_single_movie_cast(movie_id)
    return render_template("movie_details.html", movie=movie, movie_cast=movie_cast)
コード例 #29
0
ファイル: main.py プロジェクト: Kamaz0/movies_catalogue
def movie_details(movie_id):
    details = tmdb_client.get_single_movie(movie_id)
    cast = tmdb_client.get_single_movie_cast(movie_id)[:8]
    return render_template("movie_details.html", movie=details, cast=cast)
コード例 #30
0
def test_get_single_movie(monkeypatch):
    mock_data = {'results': 'some results'}
    api_mock = Mock(return_value=mock_data)
    monkeypatch.setattr("tmdb_client.call_tmdb_api", api_mock)
    api = tmdb_client.get_single_movie('movie_id')
    assert api == mock_data