def __fetch_data(self, dt): cmd = 'wpa_cli status | egrep "(wpa_state|id_str|ip_address)"' proc = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, close_fds=True) output = proc.communicate()[0] entries = {} for line in output.splitlines(): line = line.strip() if '=' in line: (key, value) = line.split('=') entries[key] = value self.state = entries.get('wpa_state', 'DISCONNECTED') self.ip_address = entries.get('ip_address', '') self.id_str = entries.get('id_str', '') connected = (self.state == 'COMPLETED' and self.ip_address != '') if connected != self.connected: self.connected = connected if self.connected: try: player_id = int(self.id_str) self.player = PlayerData.get_player_by_id(player_id) except Exception, e: print e self.player = None else: self.player = None self.say_connection_status() # notify all registered clients for cb_function in self.callbacks: cb_function(self.get_data())
def __handle_rfid(self, rfid): self.current_rfid = rfid SoundManager.play(Trigger.RFID) # RFID --> player ID player_id = PlayerData.get_player_by_rfid(rfid) # player ID --> player dict player = PlayerData.get_player_by_id(player_id) if player: time.sleep(0.5) self.current_player = player else: self.current_player = {}
def __handle_rfid(self, rfid): # RFID --> player ID player_id = PlayerData.get_player_by_rfid(rfid) # player ID --> player dict player = PlayerData.get_player_by_id(player_id) Logger.info('ScoreTracker: RFID: {0} - ID: {1} - Player: {2}'.format(rfid, player_id, player)) # player does not exist if player == None: self.denied() # player does exist else: if self.dropdown_player: self.dropdown_player.dismiss() self.set_player(player)