From 458cc0f5e7196cf66227413174483553f24699e5 Mon Sep 17 00:00:00 2001 From: Davte Date: Thu, 9 Apr 2020 22:01:50 +0200 Subject: [PATCH] Prevent shadowing of variables --- src/client.py | 8 ++++---- src/server.py | 45 +++++++++++++++++++++++++-------------------- 2 files changed, 29 insertions(+), 24 deletions(-) diff --git a/src/client.py b/src/client.py index c4f2626..dc3e31f 100644 --- a/src/client.py +++ b/src/client.py @@ -139,11 +139,11 @@ if __name__ == '__main__': # Parse command-line arguments cli_parser = argparse.ArgumentParser(description='Run client', allow_abbrev=False) - cli_parser.add_argument('--host', type=str, + cli_parser.add_argument('--_host', type=str, default=None, required=False, help='server address') - cli_parser.add_argument('--port', type=int, + cli_parser.add_argument('--_port', type=int, default=None, required=False, help='server _port') @@ -160,8 +160,8 @@ if __name__ == '__main__': nargs='*', help='[S]end or [R]eceive (see `action`)') args = vars(cli_parser.parse_args()) - _host = args['host'] - _port = args['port'] + _host = args['_host'] + _port = args['_port'] _action = get_action(args['action']) _file_path = args['path'] diff --git a/src/server.py b/src/server.py index 22c45cb..712b68c 100644 --- a/src/server.py +++ b/src/server.py @@ -107,7 +107,12 @@ class Server: port=self.port ) async with self.server: - await self.server.serve_forever() + try: + await self.server.serve_forever() + except KeyboardInterrupt: + logging.info("Stopping...") + self.server.close() + await self.server.wait_closed() return def stop(self, *_): @@ -135,44 +140,44 @@ if __name__ == '__main__': # Parse command-line arguments parser = argparse.ArgumentParser(description='Run server', allow_abbrev=False) - parser.add_argument('--_host', type=str, + parser.add_argument('--host', type=str, default=None, required=False, help='server address') - parser.add_argument('--_port', type=int, + parser.add_argument('--port', type=int, default=None, required=False, - help='server _port') + help='server port') args = vars(parser.parse_args()) - host = args['_host'] - port = args['_port'] + _host = args['host'] + _port = args['port'] # If _host and _port are not provided from command-line, try to import them - if host is None: + if _host is None: try: - from config import host + from config import host as _host except ImportError: - host = None - if port is None: + _host = None + if _port is None: try: - from config import port + from config import port as _port except ImportError: - port = None + _port = None # If import fails, prompt user for _host or _port - while host is None: - host = input("Enter _host:\t\t\t\t\t\t") - while port is None: + while _host is None: + _host = input("Enter host:\t\t\t\t\t\t") + while _port is None: try: - port = int(input("Enter _port:\t\t\t\t\t\t")) + _port = int(input("Enter port:\t\t\t\t\t\t")) except ValueError: - logging.info("Invalid _port. Enter a valid _port number!") - port = None + logging.info("Invalid port. Enter a valid port number!") + _port = None loop = asyncio.get_event_loop() server = Server( - host=host, - port=port, + host=_host, + port=_port, ) logging.info("Starting file bridging server...") try: