def do_ConnectByName(self): head = self.headers room = tab_information[decoding_serv(head['name'])] if int(room['members'].split('/')[0]) < int( room['members'].split('/')[1]) and room['started'] != '1': room['sessions'].append(decoding_serv(head['session'])) room['mainmessages'].append( decoding_serv(head['ide']) + ' Succesfully Connected!')
def do_WriteMainMessage(self): text_temp = decoding_serv(self.headers['text']) text = decoding_serv(self.headers['text']).split(' - ') temp = data_temp['name'][int(decoding_serv(self.headers['conf']))] session = decoding_serv(self.headers['session']) tab_information[temp]['mainmessages'].append(text_temp) if text[1] == '!start' and session == tab_information[temp][ 'admin_sess']: tear = tab_information[temp]['members'].split('/') if int(tear[0]) > 6: tab_information[temp]['mainmessages'].append( ' Игра успешно начата! Удачи:)') else: tab_information[temp]['mainmessages'].append( ' Игра не создана! Не хватает игроков!')
def do_GetByName(self): head = self.headers self.send_response(200) for i in range(len(data_temp['name'])): if data_temp['name'][i] == decoding_serv(head['name']): self.send_header('number', encoding(str(i))) self.end_headers()
def do_Connect(self): head = self.headers room = tab_information[data_temp['name'][int( decoding_serv(head['number']))]] if room['passwords'] == decoding_serv(self.headers['password']): if int(room['members'].split('/')[0]) < int( room['members'].split('/')[1]) and room['started'] != '1': room['sessions'].append(decoding_serv(head['session'])) self.send_response(200) self.send_header('errors', encoding('No')) self.send_header('passerr', encoding('No')) self.end_headers() else: self.send_response(200) self.send_header('errors', encoding('Yes')) self.send_header('passerr', encoding('Yes')) self.end_headers()
def do_ReturnMainMessages(self): s = self.headers self.send_response(200) self.send_header('sd', s) self.end_headers() self.wfile.write( bytes('\n'.join(tab_information[data_temp['name'][int( decoding_serv(s['conf']))]]['mainmessages']), encoding='utf-8'))
def do_GetTabInformation(self): head = self.headers if head['general'] == '1': self.send_response(200) self.send_header('noerrors', 1) global data_temp self.send_header('name', encoding('$'.join(data_temp['name']))) self.send_header('members', encoding('$'.join(data_temp['members']))) res = [] for i in data_temp['passwords']: if i != '': res.append('Yes') else: res.append('No') self.send_header('passwords', encoding('$'.join(res))) self.send_header('started', encoding('$'.join(data_temp['started']))) self.send_header('admin', encoding('$'.join(data_temp['admin']))) self.end_headers() else: if decoding_serv(head['name']) in data_temp['name']: self.send_response(200) self.send_header('noerrors', 0) self.send_header('invalidname', 1) self.end_headers() else: name = decoding_serv(self.headers['name']) tab_information[name] = {} tab_information[name]['members'] = '1/' + decoding_serv( self.headers['maxusers']) if 'sessions' in tab_information[name]: tab_information[name]['sessions'].append( decoding_serv(self.headers['sessions'])) else: tab_information[name]['sessions'] = [ decoding_serv(self.headers['sessions']) ] tab_information[name]['passwords'] = decoding_serv( self.headers['password']) tab_information[name]['started'] = '0' admin, sessadm = decoding_serv( self.headers['admin']).split(';') tab_information[name]['admin'] = admin tab_information[name]['admin_sess'] = sessadm data_temp['name'].append(name) data_temp['members'].append(tab_information[name]['members']) data_temp['passwords'].append( tab_information[name]['passwords']) data_temp['started'].append('0') data_temp['admin'].append(tab_information[name]['admin']) tab_information[name]['mainmessages'] = [ ' Привет! Вы зашли в комнату, для начала игры вы должны иметь в комнате как минимум 6 человек', 'После получения этого кол-ва админ должен прописать !start для начала игры! Удачи:)' ] self.send_response(200) self.send_header('noerrors', 1) self.send_header('invalidname', 0) self.end_headers()