fixing some bugs

This commit is contained in:
Zachary Watts
2026-04-30 14:33:51 -04:00
parent 0149035c72
commit ef5d3474a7
5 changed files with 13 additions and 10 deletions

11
app.py
View File

@@ -32,7 +32,6 @@ def party():
adv_party = returnParty(count, level)
# check for cookies present
if request.cookies:
print('in cookies')
stored_count = len(request.cookies)
#print(request.cookies)
for c in request.cookies:
@@ -60,19 +59,16 @@ def party():
reduced_party = stored_adv_party[:reduction]
adv_party.set_party(reduced_party, count, level)
# generate page
print('about to gen response')
response = make_response(render_template("party.html", adv_party=adv_party, count=count, level=level, cache=cache))
print(response)
# make a cookie for each character
# this took a while to figure out, json was too large, b64 encoded json was too large, but it turns out you can compress json as a cookie
for character in adv_party.adventurers:
print('in char for loop')
cookie_string = character.identifier
char_json = json.dumps(character.get_json())
compressed = zlib.compress(char_json.encode())
cookie_data = base64.urlsafe_b64encode(compressed).decode()
response.set_cookie(cookie_string, cookie_data)
print('returning response')
return response
@app.route('/character', methods = ["GET","POST"])
@@ -82,7 +78,7 @@ def character():
level = request.args.get("level", default=1, type=int)
role = request.args.get("role", default="fighter", type=str)
cache = request.args.get("cache", default='true', type=str)
if request.cookies and cache == "true":
if request.cookies and cache != "false":
cookie_encoded = request.cookies[c_id]
cookie_compressed = base64.urlsafe_b64decode(cookie_encoded)
character_dict = json.loads(zlib.decompress(cookie_compressed).decode())
@@ -98,6 +94,11 @@ def character():
new_char = Adventurer(c_id, 1)
selected_class = ClassSelector(new_char).selection()
character = selected_class(new_char.identifier, new_char.level, new_char.get_attributes())
role = character.player_class
level = character.level
# bug fix for cleric issues
if character.player_class == "cleric":
character.turn_undead = { int(k) : v for k,v in character.turn_undead.items() }
response = make_response(render_template("character.html", character=character, level=level, cache=cache,role=role))
cookie_string = character.identifier
char_json = json.dumps(character.get_json())