Ejemplo n.º 1
0
    def append_genre(self, parent, genre):
        if genre in useless_genres:
            return None
        if synonym_genres.has_key(genre):
            same_genres = synonym_genres[genre]
        else:
            same_genres = [genre]
        title = genre.encode('utf-8')
        family_item = LazyContainer(parent,
                                    title,
                                    genre,
                                    self.refresh,
                                    self.retrieveItemsForGenre,
                                    genres=same_genres,
                                    per_page=1)

        # we will use a specific child items sorter
        # in order to get the sub-genre containers first
        def childs_sort(x, y):
            if x.__class__ == y.__class__:
                return cmp(x.name, y.name)  # same class, we compare the names
            else:
                # the IRadioItem is deemed the lowest item class,
                # other classes are compared by name (as usual)
                if isinstance(x, IRadioItem):
                    return 1
                elif isinstance(y, IRadioItem):
                    return -1
                else:
                    return cmp(x.name, y.name)

        family_item.sorting_method = childs_sort

        parent.add_child(family_item, external_id=genre)
        return family_item
Ejemplo n.º 2
0
 def append_genre(self, parent, genre):
     if genre in useless_genres:
         return None
     if synonym_genres.has_key(genre):
         same_genres = synonym_genres[genre]
     else:
         same_genres = [genre]
     title = genre.encode('utf-8')     
     family_item = LazyContainer(parent, title, genre, self.refresh, self.retrieveItemsForGenre, genres=same_genres, per_page=1)
     # we will use a specific child items sorter
     # in order to get the sub-genre containers first
     def childs_sort(x,y):
         if x.__class__ == y.__class__:
             return cmp(x.name,y.name) # same class, we compare the names
         else:
             # the IRadioItem is deemed the lowest item class,
             # other classes are compared by name (as usual)
             if isinstance(x, IRadioItem):
                     return 1
             elif isinstance(y, IRadioItem):
                 return -1
             else:
                 return cmp(x.name,y.name)
     family_item.sorting_method = childs_sort
     
     parent.add_child(family_item, external_id=genre)
     return family_item
Ejemplo n.º 3
0
    def append_genre(self, parent, genre):
        if genre in useless_genres:
            return None
        if genre in synonym_genres:
            same_genres = synonym_genres[genre]
        else:
            same_genres = [genre]
        title = genre
        family_item = LazyContainer(parent,
                                    title,
                                    genre,
                                    self.refresh,
                                    self.retrieveItemsForGenre,
                                    genres=same_genres,
                                    per_page=1)

        # TODO: Use a specific get_child items sorter
        # in order to get the sub-genre containers first
        family_item.sorting_method = 'name'

        parent.add_child(family_item, external_id=genre)
        return family_item