Created tool to monitor new orders
This commit is contained in:
parent
274dcbb3a3
commit
0af0849f13
|
@ -0,0 +1,78 @@
|
||||||
|
from config import *
|
||||||
|
import requests
|
||||||
|
import datetime
|
||||||
|
import time
|
||||||
|
|
||||||
|
ROOM_CAPACITY_MAP = {
|
||||||
|
0: 0,
|
||||||
|
# SACRO CUORE
|
||||||
|
83: 11,
|
||||||
|
67: 50,
|
||||||
|
68: 45,
|
||||||
|
69: 84,
|
||||||
|
70: 10,
|
||||||
|
|
||||||
|
# OVERFLOW 1
|
||||||
|
75: 50
|
||||||
|
}
|
||||||
|
|
||||||
|
def ans(data, name):
|
||||||
|
for p in data['positions']:
|
||||||
|
for a in p['answers']:
|
||||||
|
if a.get('question_identifier', None) == name:
|
||||||
|
if a['answer'] in ['True', 'False']:
|
||||||
|
return bool(a['answer'] == 'True')
|
||||||
|
return a['answer']
|
||||||
|
return None
|
||||||
|
|
||||||
|
def getOrders():
|
||||||
|
ret = []
|
||||||
|
p = 0
|
||||||
|
|
||||||
|
while 1:
|
||||||
|
p += 1
|
||||||
|
res = requests.get(f"{base_url_event}orders/?page={p}", headers=headers)
|
||||||
|
|
||||||
|
if res.status_code == 404: break
|
||||||
|
|
||||||
|
data = res.json()
|
||||||
|
for o in data['results']:
|
||||||
|
|
||||||
|
roomType = 0
|
||||||
|
|
||||||
|
for pos in o['positions']:
|
||||||
|
if pos['item'] == ITEMS_ID_MAP['bed_in_room']:
|
||||||
|
roomType = pos['variation']
|
||||||
|
|
||||||
|
ret.append({"code": o['code'], "fname": ans(o, 'fursona_name'), "rType": roomType, "date": o['datetime']})
|
||||||
|
return ret
|
||||||
|
|
||||||
|
ordersCode = set()
|
||||||
|
ordersTime = set()
|
||||||
|
ordersFName = set()
|
||||||
|
while True:
|
||||||
|
#try:
|
||||||
|
newOrders = getOrders()
|
||||||
|
shouldSleep = True
|
||||||
|
for o in newOrders:
|
||||||
|
if o['code'] not in ordersCode and not o['date'] in ordersTime and not o['fname'] in ordersFName:
|
||||||
|
|
||||||
|
remainingInRoomType = ROOM_CAPACITY_MAP[o['rType']]
|
||||||
|
remainingInRoomType -= 1
|
||||||
|
ROOM_CAPACITY_MAP[o['rType']] = remainingInRoomType
|
||||||
|
|
||||||
|
roomCapacitiesStr = ", ".join(str(x).rjust(2, "0") for x in ROOM_CAPACITY_MAP.values())
|
||||||
|
#dateStr = datetime.datetime.now().isoformat()
|
||||||
|
|
||||||
|
print(f"[{o['date']}] {len(ordersCode)} - [{o['code']}] New order! FursonaName: {o['fname'].ljust(24)} - Room capacities: {roomCapacitiesStr}")
|
||||||
|
|
||||||
|
shouldSleep = False
|
||||||
|
time.sleep(0.05)
|
||||||
|
ordersCode.add(o['code'])
|
||||||
|
ordersTime.add(o['date'])
|
||||||
|
ordersFName.add(o['fname'])
|
||||||
|
#except:
|
||||||
|
# print("Exception occurred!")
|
||||||
|
# pass
|
||||||
|
if shouldSleep:
|
||||||
|
time.sleep(1)
|
Loading…
Reference in New Issue