예제 #1
0
    def get(self, title):
        """ Returns the media item with the specified title.

            Parameters:
                title (str): Title of the item to return.
        """
        path = '/library/sections/%s/all' % self.key
        return utils.findItem(self.server, path, title)
예제 #2
0
    def track(self, title):
        """ Returns the :class:`~plexapi.audio.Track` that matches the specified title.

            Parameters:
                title (str): Title of the track to return.
        """
        path = '%s/children' % self.key
        return utils.findItem(self.server, path, title)
예제 #3
0
    def photo(self, title):
        """Summary

        Args:
            title (TYPE): Description

        Returns:
            TYPE: Description
        """
        path = '/library/metadata/%s/children' % self.ratingKey
        return utils.findItem(self.server, path, title)
예제 #4
0
    def season(self, title=None):
        """Returns a Season

        Args:
            title (str, int): fx Season 1
        """
        if isinstance(title, int):
            title = 'Season %s' % title

        path = '/library/metadata/%s/children' % self.ratingKey
        return utils.findItem(self.server, path, title)
예제 #5
0
    def track(self, title):
        """Return a Track that matches title.

        Args:
            title (str): Fx song name

        Returns:
            Track:
        """
        path = '%s/children' % self.key
        return utils.findItem(self.server, path, title)
예제 #6
0
    def episode(self, title=None, season=None, episode=None):
        """Find a episode using a title or season and episode.

           Note:
                Both season and episode is required if title is missing.

           Args:
                title (str): Default None
                season (int): Season number, default None
                episode (int): Episode number, default None

           Raises:
                ValueError: If season and episode is missing.
                NotFound: If the episode is missing.

           Returns:
                Episode

           Examples:
                >>> plex.search('The blacklist')[0].episode(season=1, episode=1)
                <Episode:116263:The.Freelancer>
                >>> plex.search('The blacklist')[0].episode('The Freelancer')
                <Episode:116263:The.Freelancer>

        """
        if not title and (not season or not episode):
            raise TypeError(
                'Missing argument: title or season and episode are required')

        if title:
            path = '/library/metadata/%s/allLeaves' % self.ratingKey
            return utils.findItem(self.server, path, title)

        elif season and episode:
            results = [
                i for i in self.episodes()
                if i.seasonNumber == season and i.index == episode
            ]
            if results:
                return results[0]
            else:
                raise NotFound('Couldnt find %s S%s E%s' %
                               (self.title, season, episode))
예제 #7
0
    def episode(self, title=None, episode=None):
        """Find a episode using a title or season and episode.

           Note:
                episode is required if title is missing.

           Args:
                title (str): Default None
                episode (int): Episode number, default None

           Raises:
                TypeError: If title and episode is missing.
                NotFound: If that episode cant be found.

           Returns:
                Episode

           Examples:
                >>> plex.search('The blacklist').season(1).episode(episode=1)
                <Episode:116263:The.Freelancer>
                >>> plex.search('The blacklist').season(1).episode('The Freelancer')
                <Episode:116263:The.Freelancer>

        """
        if not title and not episode:
            raise TypeError(
                'Missing argument, you need to use title or episode.')
        if title:
            path = '/library/metadata/%s/children' % self.ratingKey
            return utils.findItem(self.server, path, title)
        elif episode:
            results = [
                i for i in self.episodes()
                if i.seasonNumber == self.index and i.index == episode
            ]
            if results:
                return results[0]
            raise NotFound('Couldnt find %s.Season %s Episode %s.' %
                           (self.grandparentTitle, self.index.episode))
예제 #8
0
 def episode(self, title):
     path = '/library/metadata/%s/allLeaves' % self.ratingKey
     return utils.findItem(self.server, path, title)
예제 #9
0
 def track(self, title):
     path = '%s/children' % self.key
     return utils.findItem(self.server, path, title)
예제 #10
0
 def track(self, title):
     path = '%s/allLeaves' % self.key
     return utils.findItem(self.server, path, title)
예제 #11
0
 def track(self, title):
     path = '%s/allLeaves' % self.key
     return utils.findItem(self.server, path, title)
예제 #12
0
 def track(self, title):
     path = '/library/metadata/%s/allLeaves' % self.ratingKey
     return utils.findItem(self.server, path, title)
예제 #13
0
 def get(self, title):
     return utils.findItem(self.server, '/library/all', title)
예제 #14
0
 def photo(self, title):
     path = '/library/metadata/%s/children' % self.ratingKey
     return utils.findItem(self.server, path, title)
예제 #15
0
 def episode(self, title):
     path = "/library/metadata/%s/children" % self.ratingKey
     return utils.findItem(self.server, path, title)
예제 #16
0
 def get(self, title):
     return utils.findItem(self.server, '/library/all', title)
예제 #17
0
 def get(self, title):
     path = '/library/sections/%s/all' % self.key
     return utils.findItem(self.server, path, title)
예제 #18
0
 def photo(self, title):
     path = '/library/metadata/%s/children' % self.ratingKey
     return utils.findItem(self.server, path, title)
예제 #19
0
 def get(self, title):
     path = '/library/sections/%s/all' % self.key
     return utils.findItem(self.server, path, title)
예제 #20
0
 def album(self, title):
     path = '%s/children' % self.key
     return utils.findItem(self.server, path, title)
예제 #21
0
 def album(self, title):
     """Return a album from this artist that match title."""
     path = '%s/children' % self.key
     return utils.findItem(self.server, path, title)
예제 #22
0
 def photo(self, title):
     """ Returns the :class:`~plexapi.photo.Photo` that matches the specified title. """
     path = '/library/metadata/%s/children' % self.ratingKey
     return utils.findItem(self.server, path, title)