TamaTown/DreamTown/cgi-bin/harvestable/save

69 lines
2.0 KiB
Plaintext
Raw Normal View History

2019-09-15 19:08:58 +00:00
#!/usr/bin/python3
from dreamtown_config import *
import sys
import binascii
import os
import json
import sqlite3
import hashlib
print("Content-Type: application/json")
print("")
method = os.environ["REQUEST_METHOD"]
if method != "POST":
print("Expected POST")
2022-11-09 15:11:58 +00:00
os._exit(1)
2019-09-15 19:08:58 +00:00
content_len = int(os.environ["CONTENT_LENGTH"])
post = sys.stdin.read(content_len)
jsonData = json.loads(post)
result = {"status":SUCCESS}
def TrySave():
Containers = jsonData['containers']
authToken = jsonData['authToken']
c = db.cursor()
2022-07-31 03:21:37 +00:00
c.execute('SELECT COUNT(1) from users WHERE LastSession=?',(authToken,))
rows = c.fetchone()
2019-09-15 19:08:58 +00:00
count = rows[0]
if count == 0:
result['status'] = USER_DOES_NOT_EXIST
return 0
#Find Username
2022-07-31 03:21:37 +00:00
c.execute('SELECT Name from users WHERE LastSession=?',(authToken,))
rows = c.fetchone()
2019-09-15 19:08:58 +00:00
username = rows[0]
for Container in Containers:
harvestableTemplateId = Container['harvestableTemplateId']
lastHarvest = Container['lastHarvest']
containerName = Container['containerName']
harvestables = Container['harvestables']
areaId = Container['areaId']
2022-11-09 17:10:48 +00:00
for harvestable in harvestables:
itemTemplateId = harvestable['itemTemplateId']
updateTime = harvestable['updateTime']
index = harvestable['index']
harvestableName = harvestable['harvestableName']
c.execute('DELETE from harvestablesList where Name=? and HarvestableName=? and AreaId=? and ParentContainerName=?',(username,harvestableName,areaId,containerName))
c.execute('INSERT INTO harvestablesList VAlUES (?,?,?,?,?,?,?)',(username,itemTemplateId,updateTime,Index,harvestableName,areaId,containerName))
c.execute('DELETE from containerList where Name=? and AreaId=? and ContainerName=?',(username,areaId,containerName))
c.execute('INSERT INTO containerList VAlUES (?,?,?,?,?)',(username,harvestableTemplateId,lastHarvest,containerName,areaId))
2019-09-15 19:08:58 +00:00
try:
2022-07-31 03:21:37 +00:00
db = DbConnect()
2019-09-15 19:08:58 +00:00
TrySave()
db.commit()
db.close()
except Exception as e:
2022-11-09 15:44:49 +00:00
raise e
2022-11-09 15:11:58 +00:00
os._exit(1)
2019-09-15 19:08:58 +00:00
print(json.dumps(result))