Avoid getting stuck if unable to get fresh random decks

This commit is contained in:
Juhani Krekelä 2020-06-17 03:37:50 +03:00
parent 54ca90a1a7
commit 6af00a6d0d
1 changed files with 4 additions and 2 deletions

View File

@ -277,12 +277,14 @@ def game(send, notice, voice, devoice, get_event):
if namespace in deck_namespaces:
if deck_namespaces[namespace].supports_random:
# Let's hope this never bites us in the butt
while True:
for _ in range(5):
code = errwrapper('Failure getting random code for a deck. (%s)', get_random_deck_code, namespace)
if code is Error: return
if (namespace, code) not in decks: break
send('That was weird, got %s randomly but it was already added' % code)
else:
send('Did not get a fresh random deck in 5 tries, bailing out')
return
errwrapper('Failure adding deck: %s %s (%%s)' % (namespace, code), add_deck, namespace, code)
send('Added deck %s (%s %s)' % (decks[(namespace, code)].name, namespace, code))
else: