Commit c7cfbf31 by mohammed.shibili

mapper

parent 9bc6a85a
import json
from script.core.handlers.updatingSeats import cancelled_ticket, golden_update
# def redis_operation(r1, msg):
# # accepting payload
# if msg.topic == "ticket2/cancel_all":
# r1.set("seats_golden", "show_cancelled")
# r1.set("seats_silver", "show_cancelled")
# else:
# print(f"{msg.payload.decode()}` topic `{msg.topic}` ")
# payload = json.loads(msg.payload.decode())
# seats_booked = payload[list(payload.keys())[0]]
# # update for deleting ticket
#
# if msg.topic == "ticket2/delete" and list(payload.keys())[0] == "gold":
# seat_available = "seats_golden"
# redis_key = "available_seats_golden"
# cancelled_ticket(r1, seats_booked, redis_key, seat_available)
# elif msg.topic == "ticket2/delete" and list(payload.keys())[0] == "silver":
# seat_available = "seats_silver"
# redis_key = "available_seats_silver"
# cancelled_ticket(r1, seats_booked, redis_key, seat_available)
# # update for golden class
# elif list(payload.keys())[0] == "gold":
# seat_available = "seats_golden"
# redis_key = "available_seats_golden"
# golden_update(r1, seats_booked, redis_key, seat_available)
# # update for silver class
# elif list(payload.keys())[0] == "silver":
# seat_available = "seats_silver"
# redis_key = "available_seats_silver"
# golden_update(r1, seats_booked, redis_key, seat_available)
# else:
# print("invalid class")
def redis_operation(r1, msg):
# accepting payload
print(f"{msg.payload.decode()}` topic `{msg.topic}` ")
topic_map = {
"ticket2/cancel_all": ("seats_golden", "seats_silver", "show_cancelled"),
"ticket2/delete": {
"gold": ("seats_golden", "available_seats_golden", "seats_golden"),
"silver": ("seats_silver", "available_seats_silver", "seats_silver"),
},
"ticket2/gold": {
"gold": ("seats_golden", "available_seats_golden", "seats_golden"),
"silver": ("seats_silver", "available_seats_silver", "seats_silver"),
},
"ticket2/silver": {
"gold": ("seats_golden", "available_seats_golden", "seats_golden"),
"silver": ("seats_silver", "available_seats_silver", "seats_silver"),
}
}
topic = msg.topic
payload = json.loads(msg.payload.decode())
seats_booked = payload[list(payload.keys())[0]]
# update for deleting ticket
if msg.topic == "ticket2/delete" and list(payload.keys())[0] == "golden":
seat_available = "seats_golden"
redis_key = "available_seats_golden"
cancelled_ticket(r1, seats_booked, redis_key, seat_available)
elif msg.topic == "ticket2/delete" and list(payload.keys())[0] == "silver":
seat_available = "silver_golden"
redis_key = "available_seats_silver"
class_type, seats_booked = next(iter(payload.items()))
try:
print(f"{msg.payload.decode()}` topic `{msg.topic}` ")
seat_available, redis_key, action = topic_map[topic][class_type]
except KeyError:
print("Invalid topic or class type")
return
if topic == "ticket2/cancel_all":
r1.mset({seat_available: action, redis_key: action})
elif topic == "ticket2/delete":
cancelled_ticket(r1, seats_booked, redis_key, seat_available)
# update for golden class
elif list(payload.keys())[0] == "golden":
seat_available = "seats_golden"
redis_key = "available_seats_golden"
golden_update(r1, seats_booked, redis_key, seat_available)
# update for silver class
elif list(payload.keys())[0] == "silver":
seat_available = "seats_silver"
redis_key = "available_seats_silver"
golden_update(r1, seats_booked, redis_key, seat_available)
else:
print("invalid class")
golden_update(r1, seats_booked, redis_key, seat_available)
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment