def is_valid_id(cls, id, from_table): if from_table == 'movie': return session.query(Movie).filter( Movie.id == id).scalar() is not None elif from_table == 'projection': return session.query(Projection).filter( Projection.id == id).scalar() is not None
def user_login(cls, username, password): hashed = hash_password(username, password) if session.query(User).filter( User.username == username, User.password == hashed).scalar() is not None: return session.query(User).filter(User.username == username, User.password == hashed).one() else: return None
def show_seat_table(cls, projection_id): seats = session.query(Reservation.row, Reservation.col).filter( Reservation.projection_id == projection_id ).all() seat_table = [ ['x', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'], ['1', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'], ['2', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'], ['3', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'], ['4', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'], ['5', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'], ['6', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'], ['7', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'], ['8', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'], ['9', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'], ['10', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'] ] for seat in seats: seat_table[seat[0]][seat[1]] = 'x' pprint(seat_table) return seat_table
def register(cls, username, password): is_taken = session.query(User).filter( User.username == username).scalar() is not None if is_taken: return False else: cls.insert_new_user(username, password) return True
def show_projections_of_movie(cls, movie_id): from controllers.reservation_controller import ReservationController try: movie_id = int(movie_id) except Exception: return None else: if ReservationController.is_valid_id(movie_id, 'movie'): movies = session.query(Projection.id, Movie.name, Projection._type, Projection.date, Projection.time).join(Movie).filter( Movie.id == movie_id).all() else: movies = None if movies: pretty_print( movies, attributes=['id', 'movie_name', 'type', 'date', 'time']) else: print("There is no such movie")
def get_num_free_seats(cls, projection_id): return 100 - session.query(Reservation).filter( Reservation.projection_id == projection_id ).count()
def show_all_movies(cls): print("---MOVIES---") all_movies = session.query(Movie).all() all_movies = [movie.attributes() for movie in all_movies] pretty_print(all_movies, attributes=['id', 'name', 'rating']) return all_movies