|
@@ -107,7 +107,12 @@ class Server:
|
|
port=self.port
|
|
port=self.port
|
|
)
|
|
)
|
|
async with self.server:
|
|
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
|
|
return
|
|
|
|
|
|
def stop(self, *_):
|
|
def stop(self, *_):
|
|
@@ -135,44 +140,44 @@ if __name__ == '__main__':
|
|
# Parse command-line arguments
|
|
# Parse command-line arguments
|
|
parser = argparse.ArgumentParser(description='Run server',
|
|
parser = argparse.ArgumentParser(description='Run server',
|
|
allow_abbrev=False)
|
|
allow_abbrev=False)
|
|
- parser.add_argument('--_host', type=str,
|
|
|
|
|
|
+ parser.add_argument('--host', type=str,
|
|
default=None,
|
|
default=None,
|
|
required=False,
|
|
required=False,
|
|
help='server address')
|
|
help='server address')
|
|
- parser.add_argument('--_port', type=int,
|
|
|
|
|
|
+ parser.add_argument('--port', type=int,
|
|
default=None,
|
|
default=None,
|
|
required=False,
|
|
required=False,
|
|
- help='server _port')
|
|
|
|
|
|
+ help='server port')
|
|
args = vars(parser.parse_args())
|
|
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 and _port are not provided from command-line, try to import them
|
|
- if host is None:
|
|
|
|
|
|
+ if _host is None:
|
|
try:
|
|
try:
|
|
- from config import host
|
|
|
|
|
|
+ from config import host as _host
|
|
except ImportError:
|
|
except ImportError:
|
|
- host = None
|
|
|
|
- if port is None:
|
|
|
|
|
|
+ _host = None
|
|
|
|
+ if _port is None:
|
|
try:
|
|
try:
|
|
- from config import port
|
|
|
|
|
|
+ from config import port as _port
|
|
except ImportError:
|
|
except ImportError:
|
|
- port = None
|
|
|
|
|
|
+ _port = None
|
|
|
|
|
|
# If import fails, prompt user for _host or _port
|
|
# 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:
|
|
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:
|
|
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()
|
|
loop = asyncio.get_event_loop()
|
|
server = Server(
|
|
server = Server(
|
|
- host=host,
|
|
|
|
- port=port,
|
|
|
|
|
|
+ host=_host,
|
|
|
|
+ port=_port,
|
|
)
|
|
)
|
|
logging.info("Starting file bridging server...")
|
|
logging.info("Starting file bridging server...")
|
|
try:
|
|
try:
|