def update(self, server, monitor, data): # clone monitor so we don't overwrite settings _monitor = dict(monitor) # TODO: delete monitor # skip empty monitor if not _monitor['alliances']: return logging.info("Sending Updates to chat %s", monitor['chatname']) # filter updates, conquers, and changes per this monitor _monitor['updates'] = {k: data['updates'][str(k)] for k in _monitor['alliances'] if data['updates'][str(k)] != None} _monitor['conquers'] = {k: data['conquers'][str(k)] for k in _monitor['alliances'] if data['conquers'][str(k)] != None} _monitor['changes'] = {k: data['changes'][str(k)] for k in _monitor['alliances'] if data['changes'][str(k)] != None} # get chat for monitor chat = self._skype.Chat(monitor['chatname']) # send updates to chat if (_monitor['updates']): chat.SendMessage(Formatter.format_updates(server, _monitor['updates'])) if (_monitor['conquers']): chat.SendMessage(Formatter.format_conquers(server, _monitor['conquers'])) if (_monitor['changes']): chat.SendMessage(Formatter.format_changes(server, _monitor['changes']))