Move to basic client/server structure.
This commit is contained in:
0
dsst/common/__init__.py
Normal file
0
dsst/common/__init__.py
Normal file
77
dsst/common/models.py
Normal file
77
dsst/common/models.py
Normal file
@@ -0,0 +1,77 @@
|
||||
class Season:
|
||||
def __init__(self, arg={}):
|
||||
self.id = arg.get('id')
|
||||
self.number = arg.get('number')
|
||||
self.game_name = arg.get('game_name')
|
||||
self.start_date = arg.get('start_date')
|
||||
self.end_date = arg.get('end_date')
|
||||
|
||||
self.episodes = arg.get('episodes')
|
||||
self.enemies = arg.get('enemies')
|
||||
|
||||
|
||||
class Player:
|
||||
def __init__(self, arg={}):
|
||||
self.id = arg.get('id')
|
||||
self.name = arg.get('name')
|
||||
self.hex_id = arg.get('hex_id')
|
||||
|
||||
self.deaths = arg.get('deaths')
|
||||
self.victories = arg.get('victories')
|
||||
self.penalties = arg.get('penalties')
|
||||
|
||||
|
||||
class Episode:
|
||||
def __init__(self, arg={}):
|
||||
self.id = arg.get('id')
|
||||
self.seq_number = arg.get('seq_number')
|
||||
self.number = arg.get('number')
|
||||
self.name = arg.get('name')
|
||||
self.date = arg.get('date')
|
||||
self.season = arg.get('season')
|
||||
self.players = arg.get('players')
|
||||
self.deaths = arg.get('deaths')
|
||||
self.victories = arg.get('victories')
|
||||
|
||||
|
||||
class Drink:
|
||||
def __init__(self, arg={}):
|
||||
self.id = arg.get('id')
|
||||
self.name = arg.get('name')
|
||||
self.vol = arg.get('vol')
|
||||
|
||||
|
||||
class Enemy:
|
||||
def __init__(self, arg={}):
|
||||
self.id = arg.get('id')
|
||||
self.name = arg.get('name')
|
||||
self.optional = arg.get('optional')
|
||||
self.season = arg.get('season')
|
||||
|
||||
|
||||
class Death:
|
||||
def __init__(self, arg={}):
|
||||
self.id = arg.get('id')
|
||||
self.info = arg.get('info')
|
||||
self.player = arg.get('player')
|
||||
self.enemy = arg.get('enemy')
|
||||
self.episode = arg.get('episode')
|
||||
self.penalties = arg.get('penalties')
|
||||
|
||||
|
||||
class Penalty:
|
||||
def __init__(self, arg={}):
|
||||
self.id = arg.get('id')
|
||||
self.size = arg.get('size')
|
||||
self.drink = arg.get('drink')
|
||||
self.player = arg.get('player')
|
||||
self.death = arg.get('death')
|
||||
|
||||
|
||||
class Victory:
|
||||
def __init__(self, arg={}):
|
||||
self.id = arg.get('id')
|
||||
self.info = arg.get('info')
|
||||
self.player = arg.get('player')
|
||||
self.enemy = arg.get('enemy')
|
||||
self.episode = arg.get('episode')
|
||||
28
dsst/common/util.py
Normal file
28
dsst/common/util.py
Normal file
@@ -0,0 +1,28 @@
|
||||
import struct
|
||||
|
||||
|
||||
def send_msg(sock, msg):
|
||||
# Prefix each message with a 4-byte length (network byte order)
|
||||
msg = struct.pack('>I', len(msg)) + msg
|
||||
sock.sendall(msg)
|
||||
|
||||
|
||||
def recv_msg(sock):
|
||||
# Read message length and unpack it into an integer
|
||||
raw_msglen = recvall(sock, 4)
|
||||
if not raw_msglen:
|
||||
return None
|
||||
msglen = struct.unpack('>I', raw_msglen)[0]
|
||||
# Read the message data
|
||||
return recvall(sock, msglen)
|
||||
|
||||
|
||||
def recvall(sock, n):
|
||||
# Helper function to recv n bytes or return None if EOF is hit
|
||||
data = b''
|
||||
while len(data) < n:
|
||||
packet = sock.recv(n - len(data))
|
||||
if not packet:
|
||||
return None
|
||||
data += packet
|
||||
return data
|
||||
Reference in New Issue
Block a user