コード例 #1
0
def new_album():
    album_data = {
        "year": request.forms.get("year"),
        "artist": request.forms.get("artist"),
        "genre": request.forms.get("genre"),
        "album": request.forms.get("album")
    }
    # Запросим список альбомов этого артиста
    album_list = album.find(album_data["artist"])
    # Получим список названий этих альбомов
    album_names = [album.album for album in album_list]
    # если такой альбом уже есть вернем ошибку
    if album_data["album"] in album_names:
        message = "такой альбом уже существует"
        response = HTTPError(409, message)
    else:  # проверяем данные  на валидность
        if not album.array_valid(album_data):
            message = "Данные введены не корректно"
            response = HTTPError(409, message)
        else:  # проверяем дату на валидность
            if not album.year_valid(album_data['year']):
                message = "Несуществующая дата"
                response = HTTPError(409, message)
            else:  # сохраняем новый альбом и уведомляем пользователя
                new_album = album.add_album(album_data)
                album.save_album(new_album)
                response = "Альбом сохранен в базе данных"
    return response
コード例 #2
0
ファイル: album_server.py プロジェクト: SergV77/Album
def new_album():
    album_data = {
        "year": request.forms.get("year"),
        "artist": request.forms.get("artist"),
        "genre": request.forms.get("genre"),
        "album": request.forms.get("album")
    }
    # Запросим список альбомов этого артиста
    album_list = album.find(album_data["artist"])
    # Получим список названий этих альбомов
    album_names = [album.album for album in album_list]
    # Если альбом, который хотим добавить, есть в списке, то вернем ошибку
    if album_data["album"] in album_names:
        message = "{} альбом {} уже существует".format(album_data["album"], album_data["artist"])
        result = HTTPError(409, message)
    else:
        if not album.data_valid(album_data):
            message = "Не все требуемые данные были введены."
            response = HTTPError(449, message)

        elif not album.year_valid(album_data["year"]):
            message = "Указанное значение не может быть годом."
            response = HTTPError(400, message)

        else:
            new_album = album.add_album(album_data)
            album.save_album(new_album)
            response = "Альбом успешно сохранен"

    return response
コード例 #3
0
ファイル: album_server.py プロジェクト: cz03/b6
def new():
    year = request.forms.get("year")
    artist = request.forms.get("artist")
    genre = request.forms.get("genre")
    album_name = request.forms.get("album")

    try:
        year = int(year)
    except ValueError:
        return HTTPError(400, "Указан некорректный год альбома!")

    try:
        new_album = album.save_album(year, artist, genre, album_name)

    except AssertionError as err:
        result = HTTPError(400, str(err))

    except album.AlreadyExists as err:
        result = HTTPError(409, str(err))

    else:
        print(f"New #{new_album.id} album successfully saved")
        result = f"Альбом #{new_album.id} успешно сохранен"

    return result
コード例 #4
0
ファイル: album_server.py プロジェクト: soloviev330/B6.13
def new_albums():
    year = request.forms.get("year")
    artist = request.forms.get("artist")
    genre = request.forms.get("genre")
    album_name = request.forms.get("album")

    print("checked")

    try:
        year = int(year)
    except ValueError:
        return HTTPError(400, "Указан некорректный год альбома")

    try:
        new_album = album.save_album(year, artist, genre, album_name)
    except AssertionError as err:
        result = HTTPError(400, str(err))
    except album.AlreadyExists as err:
        result = HTTPError(409, "Альбом с таким названием уже существует")
    else:
        print("New #{} album successfully saved".format(new_album.id))
        result = "Альбом #{} успешно сохранен".format(new_album.id)

    # album.save_album(year, artist, genre, album_name)

    return result
コード例 #5
0
def user():
    result = "Hello"
    user_data = {
        "year": request.forms.get("year"),
        "artist": request.forms.get("artist"),
        "genre": request.forms.get("genre"),
        "album": request.forms.get("album")
    }
    doubles = al.find_doubles(user_data["album"], user_data["artist"])
    check_year = al.check_year(user_data["year"])
    if check_year != True:
        return check_year
    if doubles:
        message = "Альбом {} исполнителя {} уже существует".format(
            user_data["album"], user_data["artist"])
        return HTTPError(409, message)
    al.save_album(user_data)
    return "Альбом добавлен"
コード例 #6
0
def album_data():
    '''Получает данные альбома, проверяет год, проверяет наличие данных об альбоме в БД и сохраняет данные альбома в БД'''

    #Получаем данные альбома
    album_data = {
        "year": request.forms.get("year"),
        "artist": request.forms.get("artist"),
        "genre": request.forms.get("genre"),
        "album": request.forms.get("album")
    }

    if album_data["year"]:  #Если год был указан, то выполняем блок if
        try:
            #Попытка преобразовать в число
            year = conversion(album_data["year"])

        except ValueError:
            #Если в запросе год был указан как нечисловое значение, то ловим исключение ValueError
            message = "Error: Value must be integer"
            result = HTTPError(400, message)

        except NegativeNumberError:
            #Если в запросе год был указан как отрицательное число, то ловим кастомное исключение
            message = "Error: Year must be positive number"
            result = HTTPError(400, message)

        else:  #Если исключений не возникло выполняем блок else
            if album.find_conflict(
                    album_data
            ):  #Ищем конфликты, т.е. совпадающие альбомы по значениям album и artist
                album.save_album(album_data)  #Сохраняем данные альбома
                result = "Data was successful saved"  #Сообщение об успешном сохранении данных
            else:
                #Если возник конфликт, то для вывода готовим код ошибки и соответствующее сообщение
                message = "Album already exists"
                result = HTTPError(409, message)
    else:  #Если год не был указан, то выводим ошибку
        message = "Error: year must be entered"
        result = HTTPError(400, message)

    return result
コード例 #7
0
def new_album():
    album = {
        "year": request.forms.get("year"),
        "artist": request.forms.get("artist"),
        "genre": request.forms.get("genre"),
        "album": request.forms.get("album")
    }
    if album["album"] in db.find_albums(album["artist"]):
        message = "Альбом с таким названием уже имеется в базе."
        response = HTTPError(409, message)
    else:
        if not db.data_stack_valid(album):
            message = "Не все требуемые данные были введены."
            response = HTTPError(449, message)
        elif not db.year_valid(album["year"]):
            message = "Указанное значение не может быть годом."
            response = HTTPError(400, message)
        else:
            new_album = db.add_album(album)
            db.save_album(new_album)
            response = "Альбом успешно сохранен."

    return response
コード例 #8
0
def add_album():
    album_data = {
        "year": request.forms.get("year"),
        "artist": request.forms.get("artist"),
        "genre": request.forms.get("genre"),
        "album": request.forms.get("album")
    }

    if album_data["year"] and not album_data["year"].isdigit():
        return "Указан некорректный год альбома. Ожидался формат YYYY (Например, 1999)"
    else:
        if album.save_album(album_data):
            return "Альбом {} успешно добавлен".format(album_data["album"])
        else:
            return HTTPError(
                409, "Альбом {} уже есть в базе данных.".format(
                    album_data["album"]))
コード例 #9
0
ファイル: album_server.py プロジェクト: 6aldej/album_server
def add_album():
    year = request.forms.get("year")
    artist = request.forms.get("artist")
    genre = request.forms.get("genre")
    album_name = request.forms.get("album")

    try:
        year = int(year)
    except ValueError:
        return HTTPError(400, "Некорректный год альбома :(")

    try:
        new_album = album.save_album(year, artist, genre, album_name)
    except AssertionError as err:
        result = HTTPError(400, str(err))
    except album.AlbumAlredyExists as err:
        result = HTTPError(409, str(err))
    else:
        print("Новый альбом с номером №{} <b>успешно<b> сохранён".format(
            new_album.id))
        result = "Новый альбом с номером №{} <b>успешно<b> сохранён".format(
            new_album.id)
    return result