Warning: Some posts on this platform may contain adult material intended for mature audiences only. Viewer discretion is advised. By clicking ‘Continue’, you confirm that you are 18 years or older and consent to viewing explicit content.
It’s because there is no clear indication of where a block ends.
Here is some sample code. I find it difficult to tell how many indentations I have or where I need to write if I want to continue at a certain level.
import time
import aiohttp
"""
Retreives the data from RSS URL and return the status codes as well as the data. Return -1 if something went wrong.
"""asyncdefget_rss_feed(rss_url):
asyncwith aiohttp.ClientSession() as session:
try:
retry_count = 0while retry_count < 5:
asyncwith session.get(rss_url) as resp:
if resp.status == 200:
return {'status': resp.status, 'data': await resp.text()}
else:
retry_count += 1
time.sleep(60)
if retry_count == 5:
raise ValueError('To many failed connection attempts', retry_count)
except aiohttp.InvalidURL as error:
return {'status': -1, 'data': f"Error: {rss_url} is not a valid URL.", 'error': error}
except aiohttp.ClientConnectorError as error:
return {'status': -1, 'data': f"Error: Could not connect to {rss_url}.", 'error': error}
except ValueError as error:
return {'status': -1, 'data': f"Error: Could not connect to {rss_url} after {retry_count} attempts.", 'error': error}
I don’t get it because my phyton code is indented exactly the same as all my other code. Each block of code one tab in/out, how else would you do it?
It’s because there is no clear indication of where a block ends.
Here is some sample code. I find it difficult to tell how many indentations I have or where I need to write if I want to continue at a certain level.
import time import aiohttp """ Retreives the data from RSS URL and return the status codes as well as the data. Return -1 if something went wrong. """ async def get_rss_feed(rss_url): async with aiohttp.ClientSession() as session: try: retry_count = 0 while retry_count < 5: async with session.get(rss_url) as resp: if resp.status == 200: return {'status': resp.status, 'data': await resp.text()} else: retry_count += 1 time.sleep(60) if retry_count == 5: raise ValueError('To many failed connection attempts', retry_count) except aiohttp.InvalidURL as error: return {'status': -1, 'data': f"Error: {rss_url} is not a valid URL.", 'error': error} except aiohttp.ClientConnectorError as error: return {'status': -1, 'data': f"Error: Could not connect to {rss_url}.", 'error': error} except ValueError as error: return {'status': -1, 'data': f"Error: Could not connect to {rss_url} after {retry_count} attempts.", 'error': error}