301 score, winners = vobjectscore, [vobject] |
301 score, winners = vobjectscore, [vobject] |
302 elif vobjectscore > 0 and vobjectscore == score: |
302 elif vobjectscore > 0 and vobjectscore == score: |
303 winners.append(vobject) |
303 winners.append(vobject) |
304 if not winners: |
304 if not winners: |
305 raise NoSelectableObject('args: %s\nkwargs: %s %s' |
305 raise NoSelectableObject('args: %s\nkwargs: %s %s' |
306 % (args, kwargs.keys(), [repr(v) for v in vobjects])) |
306 % (args, kwargs.keys(), |
|
307 [repr(v) for v in vobjects])) |
307 if len(winners) > 1: |
308 if len(winners) > 1: |
308 if self.config.mode == 'installed': |
309 if self.config.mode == 'installed': |
309 self.error('select ambiguity, args: %s\nkwargs: %s %s', |
310 self.error('select ambiguity, args: %s\nkwargs: %s %s', |
310 args, kwargs.keys(), [repr(v) for v in winners]) |
311 args, kwargs.keys(), [repr(v) for v in winners]) |
311 else: |
312 else: |
312 raise Exception('select ambiguity, args: %s\nkwargs: %s %s' |
313 raise Exception('select ambiguity, args: %s\nkwargs: %s %s' |
313 % (args, kwargs.keys(), [repr(v) for v in winners])) |
314 % (args, kwargs.keys(), |
|
315 [repr(v) for v in winners])) |
314 winner = winners[0] |
316 winner = winners[0] |
315 # return the result of the .selected method of the vobject |
317 # return the result of the .selected method of the vobject |
316 return winner.selected(*args, **kwargs) |
318 return winner.selected(*args, **kwargs) |
317 |
319 |
318 def possible_objects(self, registry, *args, **kwargs): |
320 def possible_objects(self, registry, *args, **kwargs): |