コード例 #1
0
ファイル: sequence.py プロジェクト: Atrion/Kodi_Repo-Retired
def parseRatingsList(rlist):
    for x in range(len(rlist)):
        r = rlist[x]
        if isinstance(r, list):
            parseRatingsList(r)
        elif r:
            rlist[x] = ratings.getRating(r)
    return rlist
コード例 #2
0
 def rating(self):
     if not getattr(self, '_rating', None):
         ratingString = self.get('rating')
         if ratingString:
             self._rating = ratings.getRating(ratingString)
         else:
             self._rating = None
     return self._rating
コード例 #3
0
 def rating(self):
     if not getattr(self, '_rating', None):
         ratingString = self.get('rating')
         if ratingString:
             self._rating = ratings.getRating(ratingString)
         else:
             self._rating = None
     return self._rating
コード例 #4
0
    def _getTrailersFromDBRating(self, source, watched=False):
        ratingLimitMethod = self.sItem.getLive('ratingLimit')
        false = False  # To make my IDE happy about == and false

        where = [
            DB.Trailers.source == source,
            DB.Trailers.broken == false,
            DB.Trailers.watched == watched
        ]

        if self.sItem.getLive('order') == 'newest':
            util.DEBUG_LOG('    - Order: Newest')
            orderby = [
                DB.Trailers.release.desc(),
                DB.Trailers.date
            ]
        else:
            util.DEBUG_LOG('    - Order: Random')
            orderby = [
                DB.fn.Random()
            ]

        if self.sItem.getLive('filter3D'):
            where.append(DB.Trailers.is3D == self.caller.nextQueuedFeature.is3D)

        if ratingLimitMethod and ratingLimitMethod != 'none':
            if ratingLimitMethod == 'max':
                maxr = ratings.getRating(self.sItem.getLive('ratingMax').replace('.', ':', 1))
                for t in DB.Trailers.select().where(*where).order_by(*orderby):
                    if ratings.getRating(t.rating).value <= maxr.value:
                        yield t
            elif self.caller.ratings:
                minr = min(self.caller.ratings, key=lambda x: x.value)
                maxr = max(self.caller.ratings, key=lambda x: x.value)

                for t in DB.Trailers.select().where(*where).order_by(*orderby):
                    if minr.value <= ratings.getRating(t.rating).value <= maxr.value:
                        yield t
        else:
            for t in DB.Trailers.select().where(*where).order_by(*orderby):
                yield t
コード例 #5
0
    def _getTrailersFromDBRating(self, source, watched=False):
        ratingLimitMethod = self.sItem.getLive('ratingLimit')
        false = False  # To make my IDE happy about == and false

        where = [
            DB.Trailers.source == source, DB.Trailers.broken == false,
            DB.Trailers.watched == watched
        ]

        if self.sItem.getLive('order') == 'newest':
            util.DEBUG_LOG('    - Order: Newest')
            orderby = [DB.Trailers.release.desc(), DB.Trailers.date]
        else:
            util.DEBUG_LOG('    - Order: Random')
            orderby = [DB.fn.Random()]

        if self.sItem.getLive('filter3D'):
            where.append(
                DB.Trailers.is3D == self.caller.nextQueuedFeature.is3D)

        if ratingLimitMethod and ratingLimitMethod != 'none':
            if ratingLimitMethod == 'max':
                maxr = ratings.getRating(
                    self.sItem.getLive('ratingMax').replace('.', ':', 1))
                for t in DB.Trailers.select().where(*where).order_by(*orderby):
                    if ratings.getRating(t.rating).value <= maxr.value:
                        yield t
            elif self.caller.ratings:
                minr = min(self.caller.ratings, key=lambda x: x.value)
                maxr = max(self.caller.ratings, key=lambda x: x.value)

                for t in DB.Trailers.select().where(*where).order_by(*orderby):
                    if minr.value <= ratings.getRating(
                            t.rating).value <= maxr.value:
                        yield t
        else:
            for t in DB.Trailers.select().where(*where).order_by(*orderby):
                yield t