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
Пример #3
0
    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
Пример #5
0
    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")
Пример #6
0
 def get_num_free_seats(cls, projection_id):
     return 100 - session.query(Reservation).filter(
         Reservation.projection_id == projection_id
     ).count()
Пример #7
0
 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