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
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
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
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
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 "Альбом добавлен"
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
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
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"]))
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