Example #1
0
 def handle(self):
     p = float(self.request.get("p"))
     SEATS_PER_TABLE = 10
     for price in [p]:
         t = Table(price=btc2satoshi(price))
         t.put()
         for n in xrange(SEATS_PER_TABLE):
             seat = Seat(table=t, number=n, purchase_addr=new_address(), state=EMPTY)
             seat.table = t
             seat.put()
             from time import sleep
             sleep(1)
             
     return {"success":True}
Example #2
0
    def handle(self):
        p = float(self.request.get("p"))
        SEATS_PER_TABLE = 10
        for price in [p]:
            t = Table(price=btc2satoshi(price))
            t.put()
            for n in xrange(SEATS_PER_TABLE):
                seat = Seat(table=t,
                            number=n,
                            purchase_addr=new_address(),
                            state=EMPTY)
                seat.table = t
                seat.put()
                from time import sleep
                sleep(1)

        return {"success": True}
Example #3
0
 def handle(self):
     price = int(self.request.get("price"))
     n = int(self.request.get("n"))
     if not price:
         return {"success": False, "error": "parameter not found"}
     seat = Seat.get(price, n)
     if not seat:
         return {"success": False, "error": "seat not found"}
     return self.handle_seat(seat)
Example #4
0
 def handle(self):
     price = int(self.request.get("price"))
     n = int(self.request.get("n"))
     if not price:
         return {"success": False, "error": "parameter not found"}
     seat = Seat.get(price, n)
     if not seat:
         return {"success": False, "error": "seat not found"}
     return self.handle_seat(seat)
Example #5
0
 def process_bet(self, address, better, value):
     seat = Seat.get_by_address(address)
     if not seat:
         return {"success": False, "reason": "Seat for address %s not found" % (address)}
     if seat.table.price > value:
         logging.warn("Table price higher than paid value: (%s > %s)" % (seat.table.price, value))
         return "*ok*"
     if not seat.is_reserved():
         logging.warn("Received payment for a seat that isn't reserved: (%s, %s, %s)" % (seat.number, seat.table.price, value))
         return "*ok*" 
     seat.occupy(better)
     return "*ok*"
Example #6
0
def create_ticket():
    if not request.json:
        abort(404)
    cinema = Cinema.query.filter(
        Cinema.cinemaName == request.json['cinemaName']).first()
    user = User.query.filter(User.phone == request.json['phone']).first()
    movie_session = Movie_session.query.filter(
        Movie_session.sessionId == request.json['sessionId']).first()
    if Seat.query.filter(Seat.s_sessionId == request.json['sessionId'],
                         Seat.seatRow == request.json['seatRow'],
                         Seat.seatCol == request.json['seatCol']).first():
        abort(408)
    seat = Seat()
    seat.seatRow = request.json['seatRow']
    seat.seatCol = request.json['seatCol']
    seat.s_sessionId = request.json['sessionId']
    db.session.add(seat)
    db.session.commit()
    seat = Seat.query.filter(Seat.s_sessionId == request.json['sessionId'],
                             Seat.seatRow == request.json['seatRow'],
                             Seat.seatCol == request.json['seatCol']).first()
    ticket = Ticket()
    ticket.isPrinted = False
    ticket.tk_userId = user.userId
    ticket.tk_cinemaId = cinema.cinemaId
    ticket.tk_movieId = movie_session.ms_movieId
    ticket.tk_sessionId = request.json['sessionId']
    ticket.tk_hallId = movie_session.ms_hallId
    ticket.tk_seat = seat.seatId
    t_id = random.randint(10000000, 99999999)
    while (Ticket.query.filter(Ticket.ticketId == t_id).first()):
        t_id = random.randint(10000000, 99999999)
    ticket.ticketId = t_id
    db.session.add(ticket)
    db.session.commit()
    return jsonify({'ticketId': ticket.ticketId}), 200
Example #7
0
 def process_bet(self, address, better, value):
     seat = Seat.get_by_address(address)
     if not seat:
         return {
             "success": False,
             "reason": "Seat for address %s not found" % (address)
         }
     if seat.table.price > value:
         logging.warn("Table price higher than paid value: (%s > %s)" %
                      (seat.table.price, value))
         return "*ok*"
     if not seat.is_reserved():
         logging.warn(
             "Received payment for a seat that isn't reserved: (%s, %s, %s)"
             % (seat.number, seat.table.price, value))
         return "*ok*"
     seat.occupy(better)
     return "*ok*"
Example #8
0
 def handle(self):
     for seat in Seat.get_reserved():
         seat.check_reservation()
     return {"success":True}
Example #9
0
 def handle(self):
     for seat in Seat.get_reserved():
         seat.check_reservation()
     return {"success": True}