Exemple #1
0
 def connect(ip_addr, port):
     """
     connect to a peer
     """
     sock = socket.socket()
     try:
         sock.connect((ip_addr, port))
     except socket.error:
         Logger.log_error("cannot connect to peer")
     return sock
Exemple #2
0
 def start(self):
     for session in self.bot_sessions:
         session_thread = VKCoinBotSessionThread(session)
         try:
             session_thread.start()
         except:
             Logger.log_error(_("Can not start session for bot ID{}").format(session.vk_user_id))
     event_loop = asyncio.get_event_loop()
     if self.report_enabled:
         event_loop.create_task(self.report())
     event_loop.run_forever()
Exemple #3
0
    def create_bot_sessions(config: Dict) -> List[VKCoinBotSession]:
        bot_configs = config["bots"]
        bot_count = len(bot_configs)
        Logger.log_system(_("Found {} bots in config file").format(bot_count))

        sessions = []
        for bot_config in bot_configs:
            try:
                session = VKCoinBotSession(bot_config)
                session.setup()
                sessions.append(session)
            except Exception:
                Logger.log_error(_("Can not load bot with config #{}").format(bot_config))

        if not sessions:
            Logger.log_error(_("No sessions created"))

        return sessions
Exemple #4
0
    def send(self, sock, msg):
        """
        sends data to peer from socket
        """
        try:
            peer_ip, peer_port = sock.getpeername()
            to_send = {
                "peer_ip": peer_ip,
                "peer_port": peer_port,
                "ip": self.ip_addr,
                "port": self.port
            }

            data = self.make_header(msg, to_send)
            data = Encoder.json_decode(data)
            sock.send(data)
        except socket.error:
            Logger.log_error("cant send to peer")