From 36cbba6c57031fc67fad8edd52d234f3d6cb30a6 Mon Sep 17 00:00:00 2001 From: Roman Zeyde Date: Sun, 1 Jul 2018 12:49:39 +0300 Subject: [PATCH] Fix a few lint issues --- libagent/gpg/__init__.py | 11 ++++++----- libagent/server.py | 12 ++++++++++-- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/libagent/gpg/__init__.py b/libagent/gpg/__init__.py index 8347e1d..d7bd7e6 100644 --- a/libagent/gpg/__init__.py +++ b/libagent/gpg/__init__.py @@ -87,7 +87,7 @@ def verify_gpg_version(): msg = 'Existing GnuPG has version "{}" ({} required)'.format(existing_gpg, required_gpg) if not semver.match(existing_gpg, required_gpg): - log.error('Your GnuPG version may be incompatible: %s', existing_gpg) + log.error(msg) def check_output(args): @@ -205,10 +205,11 @@ def run_unlock(device_type, args): def _server_from_assuan_fd(env): - fd = os.environ.get('_assuan_connection_fd') - if fd is not None: - log.info('using fd=%r for UNIX socket server', fd) - return server.unix_domain_socket_server_from_fd(int(fd)) + fd = env.get('_assuan_connection_fd') + if fd is None: + return None + log.info('using fd=%r for UNIX socket server', fd) + return server.unix_domain_socket_server_from_fd(int(fd)) def _server_from_sock_path(env): diff --git a/libagent/server.py b/libagent/server.py index aa21135..dc264f7 100644 --- a/libagent/server.py +++ b/libagent/server.py @@ -40,31 +40,39 @@ def unix_domain_socket_server(sock_path): class FDServer(object): + """File-descriptor based server (for NeoPG).""" + def __init__(self, fd): + """C-tor.""" self.fd = fd self.sock = socket.fromfd(fd, socket.AF_UNIX, socket.SOCK_STREAM) def accept(self): + """Use the same socket for I/O.""" return self, None def recv(self, n): + """Forward to underlying socket.""" return self.sock.recv(n) def sendall(self, data): + """Forward to underlying socket.""" return self.sock.sendall(data) def close(self): - pass + """Not needed.""" def settimeout(self, _): - pass + """Not needed.""" def getsockname(self): + """Simple representation.""" return ''.format(self.fd) @contextlib.contextmanager def unix_domain_socket_server_from_fd(fd): + """Build UDS-based socket server from a file descriptor.""" yield FDServer(fd)