Fix unclosed files (BytesIO)

Fixes #119
This commit is contained in:
0x5c 2019-12-31 03:18:30 -05:00
parent 5e250b5e3e
commit 807ef46379
No known key found for this signature in database
GPG Key ID: 82039FC95E3FE970

View File

@ -40,7 +40,8 @@ class QRZCog(commands.Cog):
async with self.session.get(url) as resp: async with self.session.get(url) as resp:
if resp.status != 200: if resp.status != 200:
raise ConnectionError(f'Unable to connect to QRZ (HTTP Error {resp.status})') raise ConnectionError(f'Unable to connect to QRZ (HTTP Error {resp.status})')
resp_xml = etree.parse(BytesIO(await resp.read())).getroot() with BytesIO(await resp.read()) as resp_file:
resp_xml = etree.parse(resp_file).getroot()
resp_xml_session = resp_xml.xpath('/x:QRZDatabase/x:Session', resp_xml_session = resp_xml.xpath('/x:QRZDatabase/x:Session',
namespaces={'x': 'http://xmldata.qrz.com'}) namespaces={'x': 'http://xmldata.qrz.com'})
@ -99,7 +100,8 @@ async def qrz_login(user: str, passwd: str, session: aiohttp.ClientSession):
async with session.get(url) as resp: async with session.get(url) as resp:
if resp.status != 200: if resp.status != 200:
raise ConnectionError(f'Unable to connect to QRZ (HTTP Error {resp.status})') raise ConnectionError(f'Unable to connect to QRZ (HTTP Error {resp.status})')
resp_xml = etree.parse(BytesIO(await resp.read())).getroot() with BytesIO(await resp.read()) as resp_file:
resp_xml = etree.parse(resp_file).getroot()
resp_xml_session = resp_xml.xpath('/x:QRZDatabase/x:Session', resp_xml_session = resp_xml.xpath('/x:QRZDatabase/x:Session',
namespaces={'x': 'http://xmldata.qrz.com'}) namespaces={'x': 'http://xmldata.qrz.com'})
@ -116,7 +118,8 @@ async def qrz_test_session(key: str, session: aiohttp.ClientSession):
async with session.get(url) as resp: async with session.get(url) as resp:
if resp.status != 200: if resp.status != 200:
raise ConnectionError(f'Unable to connect to QRZ (HTTP Error {resp.status})') raise ConnectionError(f'Unable to connect to QRZ (HTTP Error {resp.status})')
resp_xml = etree.parse(BytesIO(await resp.read())).getroot() with BytesIO(await resp.read()) as resp_file:
resp_xml = etree.parse(resp_file).getroot()
resp_xml_session = resp_xml.xpath('/x:QRZDatabase/x:Session', resp_xml_session = resp_xml.xpath('/x:QRZDatabase/x:Session',
namespaces={'x': 'http://xmldata.qrz.com'}) namespaces={'x': 'http://xmldata.qrz.com'})