Skip to content

Commit

Permalink
Modify task recommendation and candidates
Browse files Browse the repository at this point in the history
This way, subsequent candidates can be exposed to plugins instead of
just used locally to interact with the user.
  • Loading branch information
sampsyo committed Nov 1, 2017
1 parent 9c6910d commit 0d8d1c3
Showing 1 changed file with 4 additions and 5 deletions.
9 changes: 4 additions & 5 deletions beets/ui/commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -691,16 +691,15 @@ def choose_match(self, task):
return action

# Loop until we have a choice.
candidates, rec = task.candidates, task.rec
while True:
# Ask for a choice from the user. The result of
# `choose_candidate` may be an `importer.action`, an
# `AlbumMatch` object for a specific selection, or a
# `PromptChoice`.
choices = self._get_choices(task)
choice = choose_candidate(
candidates, False, rec, task.cur_artist, task.cur_album,
itemcount=len(task.items), choices=choices
task.candidates, False, task.rec, task.cur_artist,
task.cur_album, itemcount=len(task.items), choices=choices
)

# Basic choices that require no more action here.
Expand All @@ -716,8 +715,8 @@ def choose_match(self, task):
return post_choice
elif isinstance(post_choice, autotag.Proposal):
# Use the new candidates and continue around the loop.
candidates = post_choice.candidates
rec = post_choice.recommendation
task.candidates = post_choice.candidates
task.rec = post_choice.recommendation

# Otherwise, we have a specific match selection.
else:
Expand Down

0 comments on commit 0d8d1c3

Please sign in to comment.