Esempio n. 1
0
def add_movies():
    data = request.json
    if (not data):
        return {
            "error": "You need to include movies, playlist name and users"
        }, 400

    movie_list = data["movies"]
    name = data["name"]
    users = data["users"]

    if (not movie_list or not name or not users):
        return {
            "error": "You need to include movies, playlist name and users"
        }, 400

    username = session[USERNAME]
    password = session[PASSWORD]
    server = session[SERVER]
    imdb_id = session[IMDB_ID]

    if (not username or not password or not server or not imdb_id):
        return {"error": "Could not find session data"}, 500

    plex_server = Plex(username, password)
    plex_server.add_resource_by_name(server)
    plex_server.connect()
    playlist, failed_movies = plex_server.add_playlist(name, movie_list)

    if (len(users) > 0 and playlist is not None):
        plex_server.copy_to_users(playlist, users)

    return jsonify(failed_movies)
Esempio n. 2
0
def scrape_imdb():
    data = request.json
    if (not data):
        return {"error": "You need to include an IMDb id"}, 400

    imdb_id = data[IMDB_ID]

    if (not imdb_id):
        return {"error": "You need to include an IMDb id"}, 400

    username = session[USERNAME]
    password = session[PASSWORD]
    server = session[SERVER]

    if (not username or not password or not server):
        return {"error": "Could not find session data"}, 500

    plex_server = Plex(username, password)
    plex_server.add_resource_by_name(server)
    plex_server.connect()
    movies = plex_server.scrape_imdb("https://www.imdb.com/list/" + imdb_id)

    if (not movies):
        return {"error": "You need to include a valid IMDb id"}, 400

    session[IMDB_ID] = imdb_id

    return jsonify(movies)
Esempio n. 3
0
def get_users():
    username = session[USERNAME]
    password = session[PASSWORD]
    server = session[SERVER]

    if (not username or not password or not server):
        return {"error": "Could not find session data"}, 500

    plex_server = Plex(username, password)
    plex_server.add_resource_by_name(server)
    plex_server.connect()
    users = plex_server.get_users()

    return jsonify(users)
Esempio n. 4
0
def choose_server():
    data = request.json
    if (not data):
        return {"error": "You need to include a server name"}, 400

    server = data[SERVER]

    if (not server):
        return {"error": "You need to include a server name"}, 400

    username = session[USERNAME]
    password = session[PASSWORD]
    plex_server = Plex(username, password)
    try:
        plex_server.add_resource_by_name(server)
    except NotMediaServerError:
        return {"error": "Not a plex server"}, 400
    except NoServerError:
        return {"error": "No server with that name"}, 400

    session[SERVER] = server
    return {"message": "Success"}, 200