(self, cmd, conn=None)
| 246 | return self.send(cmd) |
| 247 | |
| 248 | def send(self, cmd, conn=None): |
| 249 | if not conn: |
| 250 | conn = self.conn |
| 251 | self.log.debug("> %s" % cmd) |
| 252 | back = "" |
| 253 | for retry in range(2): |
| 254 | try: |
| 255 | conn.sendall(b"%s\r\n" % cmd.encode("utf8")) |
| 256 | while not back.endswith("250 OK\r\n"): |
| 257 | back += conn.recv(1024 * 64).decode("utf8") |
| 258 | break |
| 259 | except Exception as err: |
| 260 | self.log.error("Tor send error: %s, reconnecting..." % err) |
| 261 | if not self.connecting: |
| 262 | self.disconnect() |
| 263 | time.sleep(1) |
| 264 | self.connect() |
| 265 | back = None |
| 266 | if back: |
| 267 | self.log.debug("< %s" % back.strip()) |
| 268 | return back |
| 269 | |
| 270 | def getPrivatekey(self, address): |
| 271 | return self.privatekeys[address] |
no test coverage detected