当前位置: 首页>>代码示例>>Python>>正文


Python AudioFile.sort_by_func方法代码示例

本文整理汇总了Python中quodlibet.formats._audio.AudioFile.sort_by_func方法的典型用法代码示例。如果您正苦于以下问题:Python AudioFile.sort_by_func方法的具体用法?Python AudioFile.sort_by_func怎么用?Python AudioFile.sort_by_func使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在quodlibet.formats._audio.AudioFile的用法示例。


在下文中一共展示了AudioFile.sort_by_func方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: _sort_songs

# 需要导入模块: from quodlibet.formats._audio import AudioFile [as 别名]
# 或者: from quodlibet.formats._audio.AudioFile import sort_by_func [as 别名]
    def _sort_songs(self, songs):
        """Sort passed songs in place based on the column sort orders"""

        last_tag = None
        last_order = None
        first = True
        for tag, reverse in self.get_sort_orders():
            tag = get_sort_tag(tag)

            # always sort using the default sort key first
            if first:
                first = False
                songs.sort(key=lambda s: s.sort_key, reverse=reverse)
                last_order = reverse
                last_tag = ""

            # no need to sort twice in a row with the same key/order
            if tag == last_tag and last_order == reverse:
                continue
            last_order = reverse
            last_tag = tag

            if tag == "":
                songs.sort(key=lambda s: s.sort_key, reverse=reverse)
            else:
                sort_func = AudioFile.sort_by_func(tag)
                songs.sort(key=sort_func, reverse=reverse)
开发者ID:lebauce,项目名称:quodlibet,代码行数:29,代码来源:songlist.py

示例2: set_songs

# 需要导入模块: from quodlibet.formats._audio import AudioFile [as 别名]
# 或者: from quodlibet.formats._audio.AudioFile import sort_by_func [as 别名]
    def set_songs(self, songs, sorted=False):
        model = self.get_model()

        if not sorted:
            tag, reverse = self.get_sort_by()
            tag = self.__get_sort_tag(tag)

            #try to set a sort indicator that matches the default order
            if not self.is_sorted():
                self.set_sort_by_tag(tag, reverse)

            if not tag:
                songs.sort(key=lambda s: s.sort_key, reverse=reverse)
            else:
                sort_func = AudioFile.sort_by_func(tag)
                songs.sort(key=lambda s: s.sort_key)
                songs.sort(key=sort_func, reverse=reverse)
        else:
            self.set_sort_by(None, refresh=False)

        # Doing set_model(None) resets the sort indicator, so we need to
        # remember it before doing that.
        sorts = map(gtk.TreeViewColumn.get_sort_indicator, self.get_columns())
        print_d("Detaching model.", context=self)
        self.set_model(None)
        model.set(songs)
        print_d("Attaching model.", context=self)
        self.set_model(model)
        print_d("Model attached.", context=self)
        map(gtk.TreeViewColumn.set_sort_indicator, self.get_columns(), sorts)
开发者ID:silkecho,项目名称:glowing-silk,代码行数:32,代码来源:songlist.py

示例3: add_songs

# 需要导入模块: from quodlibet.formats._audio import AudioFile [as 别名]
# 或者: from quodlibet.formats._audio.AudioFile import sort_by_func [as 别名]
    def add_songs(self, songs):
        """Add songs to the list in the right order and position"""

        if not songs: return

        model = self.get_model()
        if not len(model):
            self.set_songs(songs)
            return

        tag, reverse = self.get_sort_by()
        tag = self.__get_sort_tag(tag)

        if not self.is_sorted():
            self.set_sort_by_tag(tag, reverse)

        # FIXME: Replace with something fast

        old_songs = self.get_songs()
        old_songs.extend(songs)

        if not tag:
            old_songs.sort(key=lambda s: s.sort_key, reverse=reverse)
        else:
            sort_func = AudioFile.sort_by_func(tag)
            old_songs.sort(key=lambda s: s.sort_key)
            old_songs.sort(key=sort_func, reverse=reverse)

        for index, song in sorted(zip(map(old_songs.index, songs), songs)):
            model.insert(index, row=[song])
开发者ID:silkecho,项目名称:glowing-silk,代码行数:32,代码来源:songlist.py

示例4: test_sort_func

# 需要导入模块: from quodlibet.formats._audio import AudioFile [as 别名]
# 或者: from quodlibet.formats._audio.AudioFile import sort_by_func [as 别名]
    def test_sort_func(self):
        tags = [lambda s: s("foo"), "artistsort", "albumsort", "~filename", "~format", "discnumber", "~#track"]

        for tag in tags:
            f = AudioFile.sort_by_func(tag)
            f(bar_1_1)
            f(bar_1_2)
            f(bar_2_1)
开发者ID:silkecho,项目名称:glowing-silk,代码行数:10,代码来源:test_formats__audio.py

示例5: test_invalid_fs_encoding

# 需要导入模块: from quodlibet.formats._audio import AudioFile [as 别名]
# 或者: from quodlibet.formats._audio.AudioFile import sort_by_func [as 别名]
    def test_invalid_fs_encoding(self):
        # issue 798
        a = AudioFile()
        a.sanitize("/\xf6\xe4\xfc/\xf6\xe4\xfc.ogg")  # latin 1 encoded
        a.sort_by_func("~filename")(a)
        a.sort_by_func("~basename")(a)
        a.sort_by_func("~dirname")(a)

        # windows
        a.sanitize("/\xf6\xe4\xfc/\xf6\xe4\xfc.ogg".decode("latin-1"))
        a.sort_by_func("~filename")(a)
        a.sort_by_func("~basename")(a)
        a.sort_by_func("~dirname")(a)
开发者ID:silkecho,项目名称:glowing-silk,代码行数:15,代码来源:test_formats__audio.py

示例6: test_invalid_fs_encoding

# 需要导入模块: from quodlibet.formats._audio import AudioFile [as 别名]
# 或者: from quodlibet.formats._audio.AudioFile import sort_by_func [as 别名]
 def test_invalid_fs_encoding(self):
     # issue 798
     a = AudioFile()
     if os.name != "nt":
         a["~filename"] = "/\xf6\xe4\xfc/\xf6\xe4\xfc.ogg" # latin 1 encoded
         a.sort_by_func("~filename")(a)
         a.sort_by_func("~basename")(a)
     else:
         # windows
         a["~filename"] = "/\xf6\xe4\xfc/\xf6\xe4\xfc.ogg".decode("latin-1")
         a.sort_by_func("~filename")(a)
         a.sort_by_func("~basename")(a)
         a.sort_by_func("~dirname")(a)
开发者ID:pyromaniac2k,项目名称:quodlibet,代码行数:15,代码来源:test_formats__audio.py


注:本文中的quodlibet.formats._audio.AudioFile.sort_by_func方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。