def editFilmDirector(self): try: name = self.ui.filmDirectorName_lineEdit.text() surname = self.ui.filmDirectorSurname_lineEdit.text() if len(name) == 0: raise NoInputException('Enter name of the author') elif len(surname) == 0: raise NoInputException('Enter surname of the author') if self.filmDirector.name != name or self.filmDirector.surname != surname: updates = { 'name': name, 'surname': surname } for key, value in updates.items(): setattr(self.filmDirector, key, value) movie_session.commit() openDialog(QMessageBox.Information, 'Film director edited', 'Success') else: openDialog(QMessageBox.Information, 'Nothing changed', 'Success') home_window = self.parent().findChild(QWidget, 'home_window') self.parent().setCurrentWidget(home_window) except NoInputException as e: message = e.error_message openDialog(QMessageBox.Critical, message, 'Error')
def deleteGenre(self): movies = movie_session.query(Movie).filter_by( genre_id=self.genre.id).all() for movie in movies: movie_session.delete(movie) movie_session.delete(self.genre) movie_session.commit() home_window = self.parent().findChild(QWidget, 'home_window') self.parent().setCurrentWidget(home_window) openDialog(QMessageBox.Information, 'Genre deleted', 'Success')
def deleteFilmDirector(self): #CANCELLO TUTTI I FILM ASSOCIATI AL REGISTA movies = movie_session.query(Movie).filter_by(film_director_id=self.filmDirector.id).all() for movie in movies: movie_session.delete(movie) movie_session.delete(self.filmDirector) movie_session.commit() home_window = self.parent().findChild(QWidget, 'home_window') self.parent().setCurrentWidget(home_window) openDialog(QMessageBox.Information, 'Film director deleted', 'Success')
def addGenre(self): try: name = self.ui.genreName_lineEdit.text() if len(name) == 0: raise NoInputException('Enter genre name') genre = Genre(name=name) movie_session.add(genre) movie_session.commit() self.clearField() openDialog(QMessageBox.Information, 'Genre inserted', 'Success') except NoInputException as e: message = e.error_message openDialog(QMessageBox.Critical, message, 'Error') except IntegrityError: openDialog(QMessageBox.Critical, 'Genre already inserted', 'Error') movie_session.rollback()
def addFilmDirector(self): try: name = self.ui.filmDirectorName_lineEdit.text() surname = self.ui.filmDirectorSurname_lineEdit.text() if len(name) == 0: raise NoInputException('Enter film director name') if len(surname) == 0: raise NoInputException('Enter film director surname') filmDirector = Film_director(name=name, surname=surname) movie_session.add(filmDirector) movie_session.commit() self.clearAll() openDialog(QMessageBox.Information, 'Film director inserted', 'Success') except NoInputException as e: message = e.error_message openDialog(QMessageBox.Critical, message, 'Error')
def editGenre(self): try: genre_name = self.ui.genreName_lineEdit.text() if len(genre_name) == 0: raise NoInputException('Enter the name of the genre') setattr(self.genre, 'name', genre_name) movie_session.commit() home_window = self.parent().findChild(QWidget, 'home_window') self.parent().setCurrentWidget(home_window) openDialog(QMessageBox.Information, 'Genre edited', 'Success') except NoInputException as e: message = e.error_message openDialog(QMessageBox.Critical, message, 'Error') except IntegrityError: openDialog(QMessageBox.Critical, 'Field already inserted', 'Error') movie_session.rollback()
title = movie['title'] film_length = movie['film_length'] year = movie['year'] description = movie['description'] film_director_name = movie['film_director']['name'] film_director_surname = movie['film_director']['surname'] film_director = movie_session.query( movie_models.Film_director).filter_by( name=film_director_name, surname=film_director_surname).first() if not film_director: film_director = movie_models.Film_director( name=film_director_name, surname=film_director_surname) movie_session.add(film_director) movie_session.commit() genre_name = movie['genre'] genre = movie_session.query( movie_models.Genre).filter_by(name=genre_name).first() if not genre: genre = movie_models.Genre(name=genre_name) movie_session.add(genre) movie_session.commit() status_name = movie['status'] status = movie_session.query( movie_models.MovieStatus).filter_by(name=status_name).first() new_movie = movie_models.Movie(title=title, film_length=film_length,