def upload(loglevel, path):
try:
os.environ['loglevel'] = loglevel
logger = get_logger()
loop = asyncio.get_event_loop()
loop.set_debug(True)
# loop.slow_callback_duration = 0.001
# warnings.simplefilter('always', ResourceWarning)
client = Client()
client.parse(path)
task = loop.create_task(client.upload())
server = run_server(port=51213, torrent=client.torrent)
server_task = loop.create_task(server)
try:
loop.run_until_complete(
asyncio.wait([task, server_task]))
loop.run_forever()
except CancelledError:
logging.warning('Event was cancelled')
except Exception as e:
logging.info(e)
except KeyboardInterrupt:
logging.info('Received key board interrupt')
finally:
task.cancel()
server_task.cancel()
try:
logger.info('Smothly disconnecting')
client.close()
except Exception:
pass
loop.close()
except (bencodepy.DecodingError,
FileNotFoundError) as e:
logger.error(e)
评论列表
文章目录