コード例 #1
0
ファイル: _audio.py プロジェクト: pfps/quodlibet
 def __song_key(self):
     return (
         self("~#disc"),
         self("~#track"),
         human(self("artistsort")),
         self.get("musicbrainz_artistid", ""),
         human(self.get("title", "")),
         self.get("~filename"),
     )
コード例 #2
0
ファイル: _audio.py プロジェクト: elfalem/quodlibet
    def sort_by_func(tag):
        """Returns a fast sort function for a specific tag (or pattern).
        Some keys are already in the sort cache, so we can use them."""
        def artist_sort(song):
            return song.sort_key[1][2]

        if callable(tag):
            return lambda song: human(tag(song))
        elif tag == "artistsort":
            return artist_sort
        elif tag in FILESYSTEM_TAGS:
            return lambda song: fsn2text(song(tag))
        elif tag.startswith("~#") and "~" not in tag[2:]:
            return lambda song: song(tag)
        return lambda song: human(song(tag))
コード例 #3
0
    def sort_by_func(tag):
        """Returns a fast sort function for a specific tag (or pattern).
        Some keys are already in the sort cache, so we can use them."""
        def artist_sort(song):
            return song.sort_key[1][2]

        if callable(tag):
            return lambda song: human(tag(song))
        elif tag == "artistsort":
            return artist_sort
        elif tag in FILESYSTEM_TAGS:
            return lambda song: fsdecode(song(tag), note=False)
        elif tag.startswith("~#") and "~" not in tag[2:]:
            return lambda song: song(tag)
        return lambda song: human(song(tag))
コード例 #4
0
ファイル: _audio.py プロジェクト: elfalem/quodlibet
 def album_key(self):
     return (human(self("albumsort", "")),
             human(self("albumartistsort", "")),
             self.get("album_grouping_key") or self.get("labelid") or
             self.get("musicbrainz_albumid") or "")
コード例 #5
0
 def album_key(self):
     return (human(self("albumsort",
                        "")), human(self("albumartistsort", "")),
             self.get("album_grouping_key") or self.get("labelid")
             or self.get("musicbrainz_albumid") or "")
コード例 #6
0
 def __song_key(self):
     return (self("~#disc"), self("~#track"), human(self("artistsort")),
             self.get("musicbrainz_artistid",
                      ""), human(self.get("title",
                                          "")), self.get("~filename"))
コード例 #7
0
 def album_key(self) -> AlbumKey:
     id_val: str = (self.get("album_grouping_key") or self.get("labelid")
                    or self.get("musicbrainz_albumid", ""))  # type: ignore
     return id_val, human(self("albumsort",
                               "")), human(self("albumartistsort", ""))