- def connect(self):
- if not self.input:
- self.logger.info('read from stdin')
- self.input = _sys.stdin.buffer
- if not self.output:
- self.logger.info('write to stdout')
- self.output = _sys.stdout.buffer
+ def connect(self, socket_path=None):
+ if socket_path:
+ self.logger.info(
+ 'connect to Unix socket at {}'.format(socket_path))
+ self.socket = _socket.socket(_socket.AF_UNIX, _socket.SOCK_STREAM)
+ self.socket.connect(socket_path)
+ self.input = self.socket.makefile('rb')
+ self.output = self.socket.makefile('wb')
+ else:
+ if not self.input:
+ self.logger.info('read from stdin')
+ self.input = _sys.stdin.buffer
+ if not self.output:
+ self.logger.info('write to stdout')
+ self.output = _sys.stdout.buffer