Skip to content

Commit 57f87d8

Browse files
plotskimueslo
authored andcommitted
Deduplicate code and prevent KeyError('season')
1 parent 8662786 commit 57f87d8

1 file changed

Lines changed: 12 additions & 19 deletions

File tree

pythonbits/bb.py

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -273,25 +273,18 @@ def _render_tv_specifier(self):
273273

274274
# todo: test tv show name from title_arg, but episode from filename
275275

276-
guess = self['guess']
277-
log.debug('Guess: %s' % (guess,))
278-
if guess['type'] == 'episode':
279-
if self['title_arg']:
280-
title = self['title_arg']
281-
else:
282-
title = guess['title']
283-
return TvSpecifier(title, guess['season'],
284-
guess.get('episode', None))
285-
286-
cguess = self['confirmed_guess']
287-
log.debug('Confirmed guess: %s' % (cguess,))
288-
if cguess['type'] == 'episode':
289-
if self['title_arg']:
290-
title = self['title_arg']
291-
else:
292-
title = cguess['title']
293-
return TvSpecifier(title, cguess['season'],
294-
cguess.get('episode', None))
276+
# Try autodetection first, fall back to user prompts if values look fishy
277+
for key in ('guess', 'confirmed_guess'):
278+
guess = self.__getitem__(key)
279+
log.debug('Guess: %s' % (guess,))
280+
if guess['type'] == 'episode':
281+
if self['title_arg']:
282+
title = self['title_arg']
283+
else:
284+
title = guess['title']
285+
if 'season' in guess:
286+
return TvSpecifier(title, guess['season'],
287+
guess.get('episode', None))
295288

296289
@form_field('tags')
297290
def _render_tags(self):

0 commit comments

Comments
 (0)