def get_rdock(token, id): try: dockid = int(id)+1 if id != "all" else id except ValueError: return "Invalid Dock ID", 400 admiral = util.get_admiral_v2_from_id_or_token(token) if not admiral: return "Invalid API token/ID", 404 try: if admiral.available_rdocks-1 < dockid: return "Invalid Dock ID", 400 except TypeError: pass if id == "all": return json.dumps({"docks": [{ "id": dockid, "shipbuiltid": dock.ship.ship.id if dock.ship is not None else 0, "completetime": dock.complete, "state": 0 if dock.complete is None else 2 if dock.complete > time.time() else 3 if dock.complete < time.time() else -1, "resources": ','.join([str(x) for x in [dock.fuel, dock.ammo, dock.steel, dock.baux, dock.cmats]]) } for dock in admiral.docks.all()[4:8]]}), 200, {"Content-Type": "application/json"} else: cdock = admiral.docks.all()[dockid+4] return json.dumps({"docks": [{ "id": dockid, "shipbuiltid": cdock.ship.ship.id if cdock.ship is not None else 0, "completetime": cdock.complete, "state": 0 if cdock.complete is None else 2 if cdock.complete > time.time() else 3 if cdock.complete < time.time() else -1, "resources": ','.join([str(x) for x in [cdock.fuel, cdock.ammo, cdock.steel, cdock.baux, cdock.cmats]]) }]}), 200, {"Content-Type": "application/json"}
def get_rdock(token, id): try: dockid = int(id) + 1 if id != "all" else id except ValueError: return "Invalid Dock ID", 400 admiral = util.get_admiral_v2_from_id_or_token(token) if not admiral: return "Invalid API token/ID", 404 try: if admiral.available_rdocks - 1 < dockid: return "Invalid Dock ID", 400 except TypeError: pass if id == "all": return json.dumps({ "docks": [{ "id": dockid, "shipbuiltid": dock.ship.ship.id if dock.ship is not None else 0, "completetime": dock.complete, "state": 0 if dock.complete is None else 2 if dock.complete > time.time() else 3 if dock.complete < time.time() else -1, "resources": ','.join([ str(x) for x in [dock.fuel, dock.ammo, dock.steel, dock.baux, dock.cmats] ]) } for dock in admiral.docks.all()[4:8]] }), 200, { "Content-Type": "application/json" } else: cdock = admiral.docks.all()[dockid + 4] return json.dumps({ "docks": [{ "id": dockid, "shipbuiltid": cdock.ship.ship.id if cdock.ship is not None else 0, "completetime": cdock.complete, "state": 0 if cdock.complete is None else 2 if cdock.complete > time.time() else 3 if cdock.complete < time.time() else -1, "resources": ','.join([ str(x) for x in [ cdock.fuel, cdock.ammo, cdock.steel, cdock.baux, cdock.cmats ] ]) }] }), 200, { "Content-Type": "application/json" }
def get_userinfo(token): admiral = util.get_admiral_v2_from_id_or_token(token) if not admiral: return "Invalid API token/ID", 404 tdict = { "id": admiral.id, "name": admiral.user.nickname, "level": admiral.level, "experience": admiral.experience, "maxships": admiral.max_ships, "maxitems": admiral.max_equips, "tutorial_completed": admiral.setup, "fleets_available": admiral.available_fleets, "maxquests": 5, # Temporary "cdocks_available": admiral.available_cdocks, "rdocks_available": admiral.available_rdocks } return json.dumps(tdict), 200, {"Content-Type": "application/json"}
def material(token, matid): matid = int(matid) if matid != "all" else matid admiral = util.get_admiral_v2_from_id_or_token(token) resources = admiral.resources.split(',') if matid == "all": return json.dumps( {"materials": [{"id": num, "count": int(count)} for num, count in enumerate(resources)]} ), 200, {"Content-Type": "application/json"} else: if len(resources) < matid: return "Invalid resource ID", 400 else: return json.dumps( {"materials": [{"id": matid, "count": int(resources[matid])}]} ), 200, {"Content-Type": "application/json"}
def get_userinfo(token): admiral = util.get_admiral_v2_from_id_or_token(token) if not admiral: return "Invalid API token/ID", 404 tdict = { "id": admiral.id, "name": admiral.user.nickname, "level": admiral.level, "experience": admiral.experience, "maxships": admiral.max_ships, "maxitems": admiral.max_equips, "tutorial_completed": admiral.setup, "fleets_available": admiral.available_fleets, "maxquests": 5, # Temporary "cdocks_available": admiral.available_cdocks, "rdocks_available": admiral.available_rdocks } return json.dumps(tdict), 200, {"Content-Type": "application/json"}
def material(token, matid): matid = int(matid) if matid != "all" else matid admiral = util.get_admiral_v2_from_id_or_token(token) resources = admiral.resources.split(',') if matid == "all": return json.dumps({ "materials": [{ "id": num, "count": int(count) } for num, count in enumerate(resources)] }), 200, { "Content-Type": "application/json" } else: if len(resources) < matid: return "Invalid resource ID", 400 else: return json.dumps( {"materials": [{ "id": matid, "count": int(resources[matid]) }]}), 200, { "Content-Type": "application/json" }
def base_token(token): admiral = util.get_admiral_v2_from_id_or_token(token) if not admiral: return "Invalid API token/ID", 404 else: return admiral.user.nickname
def base_token(token): admiral = util.get_admiral_v2_from_id_or_token(token) if not admiral: return "Invalid API token/ID", 404 else: return admiral.user.nickname