TamaTown/DreamTown/cgi-bin/harvestable/get
2019-09-17 11:21:07 +12:00

76 lines
1.9 KiB
Python

#!/usr/bin/python3
from dreamtown_config import *
import sys
import binascii
import os
import json
import sqlite3
import time
import hashlib
print("Content-Type: application/json")
print("")
method = os.environ["REQUEST_METHOD"]
if method != "POST":
print("Expected POST")
os._exit()
content_len = int(os.environ["CONTENT_LENGTH"])
post = sys.stdin.read(content_len)
jsonData = json.loads(post)
result = {"status":SUCCESS}
def TryGet():
authToken = jsonData['authToken']
c = db.cursor()
cur = c.execute('SELECT COUNT(1) from users WHERE LastSession=?',(authToken,))
rows = cur.fetchone()
count = rows[0]
if count == 0:
result['status'] = USER_DOES_NOT_EXIST
return 0
#Find Username
cur = c.execute('SELECT Name from users WHERE LastSession=?',(authToken,))
rows = cur.fetchone()
username = rows[0]
cur = c.execute('SELECT HarvestableTemplateId,LastHarvest,ContainerName,AreaId from containerList WHERE Name=?',(username,))
rows = cur.fetchall()
containerList = []
for row in rows:
harvestableTemplateId=row[0]
lastHarvest=row[1]
containerName=row[2]
areaId=row[3]
cur = c.execute('SELECT ItemTemplateId,UpdateTime,SlotIndex,HarvestableName from harvestablesList WHERE Name=? AND ParentContainerName=? AND AreaId=?',(username,containerName,areaId))
rows2 = cur.fetchall()
harvestablesList = []
for row2 in rows2:
harvestable = {'itemTemplateId':row2[0],'updateTime':row2[1],'index':row2[2],'harvestableName':row2[3]}
harvestablesList.append(harvestable)
containers = {'harvestableTemplateId':harvestableTemplateId, 'lastHarvest':lastHarvest, 'containerName':containerName, 'harvestables':harvestablesList, 'areaId':areaId}
containerList.append(containers)
result['containers'] = containerList
try:
db = sqlite3.connect(SQLLITE_DB_PATH)
TryGet()
db.commit()
db.close()
except Exception as e:
print(e)
os._exit()
print(json.dumps(result))