Skip to content

Commit e44513c

Browse files
committed
update matches method to operate more closely to webui
thanks @JonnyWong16
1 parent 54c871f commit e44513c

File tree

1 file changed

+17
-13
lines changed

1 file changed

+17
-13
lines changed

plexapi/base.py

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -447,21 +447,25 @@ def matches(self, auto=False, agent=None, title=None, year=None, language=None):
447447
language (str) : Language of item to search in
448448
"""
449449
key = '/library/metadata/%s/matches' % self.ratingKey
450-
if not auto:
451-
params = {'manual': 1,
452-
'title': title or self.title,
453-
'year': year or self.year if self.section().type != 'artist' else '',
454-
'language': language or self.section().language}
455-
if agent:
456-
agents = self.section().agents()
457-
match_agent = next((ag for ag in agents if ag.shortIdentifier == agent), None)
458-
if match_agent:
459-
params['agent'] = match_agent.identifier
460-
else:
461-
raise NotFound('Couldnt find "%s" in agents list (%s)' %
462-
(agent, ', '.join([a.shortIdentifier for a in agents])))
450+
params = {'manual': 1}
451+
452+
if any([agent, title, year, language]):
453+
if title is None:
454+
params['title'] = self.title
455+
else:
456+
params['title'] = title
457+
458+
if year is None:
459+
params['year'] = self.year
463460
else:
461+
params['year'] = year
462+
463+
params['language'] = language or self.section().language
464+
465+
if agent is None:
464466
params['agent'] = self.section().agent
467+
else:
468+
params['agent'] = utils.getAgentIdentifier(self.section(), agent)
465469

466470
key = key + '?' + urlencode(params)
467471
data = self._server.query(key, method=self._server._session.get)

0 commit comments

Comments
 (0)