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
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
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
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