Handle having zero new posts

This commit is contained in:
blankie 2022-08-24 21:41:05 +07:00
parent 83ad790162
commit c0d035fcb4
Signed by: blankie
GPG Key ID: CC15FC822C7F61F5
1 changed files with 8 additions and 2 deletions

View File

@ -104,7 +104,7 @@ async def main():
random_post = await subreddit.random() random_post = await subreddit.random()
cpid = cpp = None cpid = cpp = None
if random_post is None: if random_post is None:
async for submission in subreddit.hot(): async for submission in subreddit.hot(limit=None):
if unique_id in give_ups: if unique_id in give_ups:
return return
cpid = getattr(submission, 'crosspost_parent', None) cpid = getattr(submission, 'crosspost_parent', None)
@ -132,6 +132,9 @@ async def main():
continue continue
random_post = submission random_post = submission
break break
if random_post is None:
return
cpid = getattr(random_post, 'crosspost_parent', None) cpid = getattr(random_post, 'crosspost_parent', None)
if cpid and getattr(random_post, 'crosspost_parent_list', None): if cpid and getattr(random_post, 'crosspost_parent_list', None):
cpid = cpid[3:] cpid = cpid[3:]
@ -165,7 +168,7 @@ async def main():
while True: while True:
unique_id = time.time() unique_id = time.time()
try: try:
random_post, cpp = await asyncio.wait_for(_get_submission(unique_id), timeout) result = await asyncio.wait_for(_get_submission(unique_id), timeout)
except asyncio.TimeoutError: except asyncio.TimeoutError:
give_ups.add(unique_id) give_ups.add(unique_id)
logging.error('%s timed out', chat) logging.error('%s timed out', chat)
@ -178,6 +181,9 @@ async def main():
for i in bot_admins: for i in bot_admins:
await client.send_message(i, f'{chat}\n{traceback.format_exc()}') await client.send_message(i, f'{chat}\n{traceback.format_exc()}')
else: else:
if not result:
return
random_post, cpp = result
try: try:
await _actual_start_post(random_post, [chat], cpp, show_nsfw_warning, show_spoilers_warning) await _actual_start_post(random_post, [chat], cpp, show_nsfw_warning, show_spoilers_warning)
except BaseException: except BaseException: