Skip to content

Commit

Permalink
Update server.py
Browse files Browse the repository at this point in the history
  • Loading branch information
Erlendeikeland authored Oct 17, 2019
1 parent ea41846 commit d2b7747
Showing 1 changed file with 12 additions and 5 deletions.
17 changes: 12 additions & 5 deletions csgo-gsi-python/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,27 +13,32 @@ def __init__(self, server_address, auth_token):
self.auth_token = auth_token
self.gamestate = gamestate.GameState()
self.parser = payloadparser.PayloadParser()

self.running = False

def start_server(self):
try:
thread = Thread(target=self.serve_forever)
thread.start()
first_time = True
while self.running == False:
if first_time == True:
print("CS:GO GSI Server starting..")
first_time = False
except:
print("Could not start server.")

def get_info(self, target, *argv):
try:
if not argv:
print("Too few arguments.")
return False
if len(argv) == 0:
state = attrgetter(f"{target}")(self.gamestate)
elif len(argv) == 1:
state = attrgetter(f"{target}.{argv[0]}")(self.gamestate)
elif len(argv) == 2:
state = attrgetter(f"{target}.{argv[0]}.{argv[1]}")(self.gamestate)
state = attrgetter(f"{target}.{argv[0]}")(self.gamestate)[f"{argv[1]}"]
else:
print("Too many arguments.")
return False

if "object" in str(state):
return vars(state)
else:
Expand All @@ -52,6 +57,8 @@ def do_POST(self):
if not self.authenticate_payload(payload):
print("auth_token does not match.")
return False
else:
self.server.running = True

self.server.parser.parse_payload(payload, self.server.gamestate)

Expand Down

0 comments on commit d2b7747

Please sign in to comment.