예제 #1
0
 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!')
예제 #2
0
 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(
                 '       Игра не создана! Не хватает игроков!')
예제 #3
0
 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()
예제 #4
0
 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()
예제 #5
0
 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'))
예제 #6
0
 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()