def log_application_new(self, application_id, application_name):
        disconnected = []
        for user_id, logger in self.loggers.iteritems():
            if not logger.events or self.LOG_APPLICATION_NEW in logger.events:
                data = {}
                data['timestamp'] = time.time()
                data['node_id'] = self.node.id
                data['type'] = 'application_new'
                data['application_id'] = application_id
                data['application_name'] = application_name
                if logger.connection is not None:
                    if not logger.connection.connection_lost:
                        logger.connection.send("data: %s\n\n" % json.dumps(data))
                    else:
                        disconnected.append(user_id)
                elif self.tunnel_client is not None and logger.handle is not None:
                    msg = {"cmd": "logevent", "msgid": logger.handle, "header": None, "data": "data: %s\n\n" % json.dumps(data)}
                    self.tunnel_client.send(msg)
        for user_id in disconnected:
            del self.loggers[user_id]
Ravel a 2D compact array of documents (rows) and word
dataset/ETHPy150Open EricssonResearch/calvin-base/calvin/runtime/north/calvincontrol.py/CalvinControl.log_application_new--crossover with--dataset/ETHPy150Open cemoody/lda2vec/lda2vec/corpus.py/Corpus.compact_to_flat