def login_pressed(self): raw_users = util.read_file("users.txt") if raw_users == None: users = [] raw_users = "" else: users = util.trim(raw_users).split("\n") user_lookup = {} for user in users: name = util.alphanums(util.trim(user[32:])) password = user[:32].lower() user_lookup[name] = password user = util.alphanums(self.username.text) password = user_lookup.get(user, None) if password == None: password = util.md5(str(time.time()) + "leprechauns") raw_users += "\n" + password + user util.write_file("users.txt", raw_users) self.auth_request = network.send_authenticate(user, password) self.password = password
def login_pressed(self): raw_users = util.read_file('users.txt') if raw_users == None: users = [] raw_users = '' else: users = util.trim(raw_users).split('\n') user_lookup = {} for user in users: name = util.alphanums(util.trim(user[32:])) password = user[:32].lower() user_lookup[name] = password user = util.alphanums(self.username.text) password = user_lookup.get(user, None) if password == None: password = util.md5(str(time.time()) + "leprechauns") raw_users += "\n" + password + user util.write_file('users.txt', raw_users) self.auth_request = network.send_authenticate(user, password) self.password = password
def update_address(self, new_address): global _server_address _server_address = new_address util.verboseprint("SERVER HAS MOVED TO:", new_address) util.write_file('server.txt', new_address)
def receive(self): """ This main function initializes the radios, receives the file and stores it in memory. """ # Initialize loop variables and functions rx_success = False seq_num = 1 payload_list = list() self.receiver.startListening() # Receive file while not rx_success: rx_buffer = [] received_something = False while not received_something: if self.wait_for_data(self.receiver): self.receiver.read(rx_buffer, self.receiver.getDynamicPayloadSize()) received_something = True payload = rx_buffer[self.config.CRC_SIZE + self.config.SEQ_NUM_SIZE:] if bytes(payload) != b'ENDOFTRANSMISSION': crc = rx_buffer[:self.config.CRC_SIZE] seq = int.from_bytes( rx_buffer[self.config.CRC_SIZE:self.config.CRC_SIZE + self.config.SEQ_NUM_SIZE], byteorder='big') seq_payload = rx_buffer[self.config.CRC_SIZE:] if util.check_crc(crc, seq_payload): if seq == seq_num: util.send_packet(self.sender, self.build_frame(b'ACK', seq_num)) if seq_num == 1 and len(payload_list) == 0: payload_list.append(bytes(payload)) print("Packet number " + str(seq_num) + " received successfully") elif seq == seq_num + 1: seq_num = seq_num + 1 payload_list.append(bytes(payload)) util.send_packet(self.sender, self.build_frame(b'ACK', seq_num)) print("Packet number " + str(seq_num) + " received successfully") else: print(" Receiver out of order packet. Rcv: " + str(seq) + " Exp: " + str(seq_num + 1)) else: util.send_packet(self.sender, self.build_frame(b'ERROR', seq_num)) print(" Packet number " + str(seq_num) + " received incorrectly") else: seq_num = seq_num + 1 util.send_packet(self.sender, self.build_frame(b'ACK', seq_num)) rx_success = True print("RECEPTION SUCCESSFUL") # Save and uncompress file try: util.write_file(self.config.OUT_FILEPATH_COMPRESSED, payload_list) uncompress_success = util.uncompress_file(self.config) except IOError: print("ERROR when saving the file") return False if uncompress_success: # Return true if successful return True else: return False