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


Python string.decode函数代码示例

本文整理汇总了Python中quodlibet.util.string.decode函数的典型用法代码示例。如果您正苦于以下问题:Python decode函数的具体用法?Python decode怎么用?Python decode使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


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

示例1: from_dump

    def from_dump(self, text):
        """Parses the text created with to_dump and adds the found tags.

        Args:
            text (bytes)
        """

        for line in text.split(b"\n"):
            if not line:
                continue
            parts = line.split(b"=")
            key = decode(parts[0])
            val = b"=".join(parts[1:])
            if key == "~format":
                pass
            elif key in FILESYSTEM_TAGS:
                self.add(key, bytes2fsn(val, "utf-8"))
            elif key.startswith("~#"):
                try:
                    self.add(key, int(val))
                except ValueError:
                    try:
                        self.add(key, float(val))
                    except ValueError:
                        pass
            else:
                self.add(key, decode(val))
开发者ID:zsau,项目名称:quodlibet,代码行数:27,代码来源:_audio.py

示例2: decode_key

        def decode_key(key):
            """str if ascii, otherwise decode using utf-8"""

            if PY3:
                return decode(key)

            try:
                key.decode("ascii")
            except ValueError:
                return decode(key)
            return key
开发者ID:elfalem,项目名称:quodlibet,代码行数:11,代码来源:_audio.py

示例3: parse_taglist

def parse_taglist(data):
    """Parses a dump file like list of tags and returns a list of IRFiles

    uri=http://...
    tag=value1
    tag2=value
    tag=value2
    uri=http://...
    ...

    """

    stations = []
    station = None

    for l in data.split(b"\n"):
        if not l:
            continue
        key = l.split(b"=")[0]
        value = l.split(b"=", 1)[1]
        key = decode(key)
        value = decode(value)
        if key == "uri":
            if station:
                stations.append(station)
            station = IRFile(value)
            continue

        san = list(sanitize_tags({key: value}, stream=True).items())
        if not san:
            continue

        key, value = san[0]
        if key == "~listenerpeak":
            key = "~#listenerpeak"
            value = int(value)

        if not station:
            continue

        if isinstance(value, text_type):
            if value not in station.list(key):
                station.add(key, value)
        else:
            station[key] = value

    if station:
        stations.append(station)

    return stations
开发者ID:LudoBike,项目名称:quodlibet,代码行数:50,代码来源:iradio.py

示例4: from_dump

    def from_dump(self, text):
        """Parses the text created with to_dump and adds the found tags."""

        def decode_key(key):
            """str if ascii, otherwise decode using utf-8"""
            try:
                key.decode("ascii")
            except ValueError:
                return decode(key)
            return key

        for line in text.split("\n"):
            if not line:
                continue
            parts = line.split("=")
            key = parts[0]
            val = "=".join(parts[1:])
            if key == "~format":
                pass
            elif key.startswith("~#"):
                try:
                    self.add(key, int(val))
                except ValueError:
                    try:
                        self.add(key, float(val))
                    except ValueError:
                        pass
            else:
                self.add(decode_key(key), decode(val))
开发者ID:vrasidas,项目名称:quodlibet,代码行数:29,代码来源:_audio.py

示例5: __init__

 def __init__(self, filename):
     audio = MP4(filename)
     self["~format"] = "%s %s" % (
         self.format, getattr(audio.info, "codec_description", "AAC"))
     self["~#length"] = audio.info.length
     self["~#bitrate"] = int(audio.info.bitrate / 1000)
     for key, values in audio.items():
         if key in self.__tupletranslate:
             name = self.__tupletranslate[key]
             cur, total = values[0]
             if total:
                 self[name] = u"%d/%d" % (cur, total)
             else:
                 self[name] = unicode(cur)
         elif key in self.__translate:
             name = self.__translate[key]
             if key == "tmpo":
                 self[name] = "\n".join(map(unicode, values))
             elif key.startswith("----"):
                 self[name] = "\n".join(
                     map(lambda v: decode(v).strip("\x00"), values))
             else:
                 self[name] = "\n".join(values)
         elif key == "covr":
             self.has_images = True
     self.sanitize(filename)
开发者ID:Tjorriemorrie,项目名称:quodlibet,代码行数:26,代码来源:mp4.py

示例6: __init__

    def __init__(self, filename):
        with translate_errors():
            audio = MP4(filename)
        self["~codec"] = audio.info.codec_description
        self["~#length"] = audio.info.length
        self["~#bitrate"] = int(audio.info.bitrate / 1000)
        if audio.info.channels:
            self["~#channels"] = audio.info.channels
        self["~#samplerate"] = audio.info.sample_rate
        self["~#bitdepth"] = audio.info.bits_per_sample

        for key, values in audio.items():
            if key in self.__tupletranslate:
                if values:
                    name = self.__tupletranslate[key]
                    cur, total = values[0]
                    if total:
                        self[name] = u"%d/%d" % (cur, total)
                    else:
                        self[name] = text_type(cur)
            elif key in self.__translate:
                name = self.__translate[key]
                if key == "tmpo":
                    self[name] = u"\n".join(map(text_type, values))
                elif key.startswith("----"):
                    self[name] = "\n".join(
                        map(lambda v: decode(v).strip("\x00"), values))
                else:
                    self[name] = "\n".join(values)
            elif key == "covr":
                self.has_images = True
        self.sanitize(filename)
开发者ID:LudoBike,项目名称:quodlibet,代码行数:32,代码来源:mp4.py

示例7: parse_gstreamer_taglist

def parse_gstreamer_taglist(tags):
    """Takes a GStreamer taglist and returns a dict containing only
    numeric and unicode values and str keys."""

    merged = {}
    for key in tags.keys():
        value = tags[key]
        # extended-comment sometimes containes a single vorbiscomment or
        # a list of them ["key=value", "key=value"]
        if key == "extended-comment":
            if not isinstance(value, list):
                value = [value]
            for val in value:
                if not isinstance(val, unicode):
                    continue
                split = val.split("=", 1)
                sub_key = decode(split[0])
                val = split[-1]
                if sub_key in merged:
                    sub_val = merged[sub_key]
                    if not isinstance(sub_val, unicode):
                        continue
                    if val not in sub_val.split("\n"):
                        merged[sub_key] += "\n" + val
                else:
                    merged[sub_key] = val
        elif isinstance(value, Gst.DateTime):
            value = value.to_iso8601_string()
            merged[key] = value
        else:
            if isinstance(value, (int, long, float)):
                merged[key] = value
                continue

            if isinstance(value, str):
                value = decode(value)

            if not isinstance(value, unicode):
                value = unicode(value)

            if key in merged:
                merged[key] += "\n" + value
            else:
                merged[key] = value

    return merged
开发者ID:Konzertheld,项目名称:quodlibet,代码行数:46,代码来源:util.py

示例8: __init__

    def __init__(self, track):
        super(IPodSong, self).__init__()
        self.sanitize(gpod.itdb_filename_on_ipod(track))

        # String keys
        for key in ['artist', 'album', 'title', 'genre', 'grouping',
            'composer', 'albumartist']:
            # albumartist since libgpod-0.4.2
            value = getattr(track, key, None)
            if value:
                self[key] = decode(value)
        # Sort keys (since libgpod-0.5.0)
        for key in ['artist', 'album', 'albumartist']:
            value = getattr(track, 'sort_' + key, None)
            if value:
                self[key + 'sort'] = decode(value)
        # Numeric keys
        for key in ['bitrate', 'playcount']:
            value = getattr(track, key)
            if value:
                self['~#' + key] = value

        try:
            self["date"] = unicode(track.year)
        except AttributeError:
            pass

        if track.cds:
            self["discnumber"] = u"%d/%d" % (track.cd_nr, track.cds)
        elif track.cd_nr:
            self["discnumber"] = u"%d" % track.cd_nr

        if track.tracks:
            self['tracknumber'] = u"%d/%d" % (track.track_nr, track.tracks)
        elif track.track_nr:
            self['tracknumber'] = u"%d" % track.track_nr

        for key, value in {
            '~#rating': min(1.0, track.rating / 100.0),
            '~#length': track.tracklen / 1000.0,
        }.items():
            if value != 0:
                self[key] = value
        self['~format'] = u"iPod: %s" % track.filetype
开发者ID:brunob,项目名称:quodlibet,代码行数:44,代码来源:ipod.py

示例9: list_input_plugins

    def list_input_plugins(self):
        """
        Returns:
            List[str]
        """

        plugins = []
        for plugin in xine_list_input_plugins(self._xine):
            if not plugin:
                break
            plugins.append(decode(plugin))
        return plugins
开发者ID:zsau,项目名称:quodlibet,代码行数:12,代码来源:player.py

示例10: fsdecode

def fsdecode(s, note=True):
    """Takes a native path and returns unicode for displaying it.

    Can not fail and can't be reversed.
    """

    if isinstance(s, unicode):
        return s
    elif note:
        return decode(s, _FSCODING)
    else:
        return s.decode(_FSCODING, 'replace')
开发者ID:bossjones,项目名称:quodlibet,代码行数:12,代码来源:path.py

示例11: __init__

    def __init__(self, track):
        super(IPodSong, self).__init__()
        self.sanitize(gpod.itdb_filename_on_ipod(track))

        # String keys
        for key in ["artist", "album", "title", "genre", "grouping", "composer", "albumartist"]:
            # albumartist since libgpod-0.4.2
            value = getattr(track, key, None)
            if value:
                self[key] = decode(value)
        # Sort keys (since libgpod-0.5.0)
        for key in ["artist", "album", "albumartist"]:
            value = getattr(track, "sort_" + key, None)
            if value:
                self[key + "sort"] = decode(value)
        # Numeric keys
        for key in ["bitrate", "playcount"]:
            value = getattr(track, key)
            if value:
                self["~#" + key] = value

        try:
            self["date"] = unicode(track.year)
        except AttributeError:
            pass

        if track.cds:
            self["discnumber"] = u"%d/%d" % (track.cd_nr, track.cds)
        elif track.cd_nr:
            self["discnumber"] = u"%d" % track.cd_nr

        if track.tracks:
            self["tracknumber"] = u"%d/%d" % (track.track_nr, track.tracks)
        elif track.track_nr:
            self["tracknumber"] = u"%d" % track.track_nr

        for key, value in {"~#rating": min(1.0, track.rating / 100.0), "~#length": track.tracklen / 1000.0}.items():
            if value != 0:
                self[key] = value
        self["~format"] = u"iPod: %s" % track.filetype
开发者ID:faubiguy,项目名称:quodlibet,代码行数:40,代码来源:ipod.py

示例12: __init__

    def __init__(self, driver, librarian):
        """May raise PlayerError"""

        super(XinePlaylistPlayer, self).__init__()
        self.name = "xine"
        self.version_info = "xine-lib: " + decode(xine_get_version_string())
        self._volume = 1.0
        self._handle = XineHandle()
        self._supports_gapless = xine_check_version(1, 1, 1) == 1
        self._event_queue = None

        self._new_stream(driver)
        self._librarian = librarian
        self._destroyed = False
开发者ID:zsau,项目名称:quodlibet,代码行数:14,代码来源:player.py

示例13: _config

def _config(section, option, label, tooltip, getter):
    def on_changed(entry, *args):
        config.set(section, option, entry.get_text())

    entry = UndoEntry()
    entry.set_tooltip_text(tooltip)
    entry.set_text(decode(config.get(section, option)))
    entry.connect("changed", on_changed)

    def on_reverted(*args):
        config.reset(section, option)
        entry.set_text(decode(config.get(section, option)))

    revert = Gtk.Button()
    revert.add(Gtk.Image.new_from_icon_name(Icons.DOCUMENT_REVERT, Gtk.IconSize.BUTTON))
    revert.connect("clicked", on_reverted)

    return (Gtk.Label(label=label), entry, revert)
开发者ID:MikeiLL,项目名称:quodlibet,代码行数:18,代码来源:advanced_preferences.py

示例14: from_dump

    def from_dump(self, text):
        """Parses the text created with to_dump and adds the found tags.

        Args:
            text (bytes)
        """

        def decode_key(key):
            """str if ascii, otherwise decode using utf-8"""

            if PY3:
                return decode(key)

            try:
                key.decode("ascii")
            except ValueError:
                return decode(key)
            return key

        for line in text.split(b"\n"):
            if not line:
                continue
            parts = line.split(b"=")
            key = decode_key(parts[0])
            val = b"=".join(parts[1:])
            if key == "~format":
                pass
            elif key in FILESYSTEM_TAGS:
                self.add(key, bytes2fsn(val, "utf-8"))
            elif key.startswith("~#"):
                try:
                    self.add(key, int(val))
                except ValueError:
                    try:
                        self.add(key, float(val))
                    except ValueError:
                        pass
            else:
                self.add(key, decode(val))
开发者ID:elfalem,项目名称:quodlibet,代码行数:39,代码来源:_audio.py

示例15: test_empty

 def test_empty(self):
     self.failUnlessEqual(decode(""), "")
开发者ID:brunob,项目名称:quodlibet,代码行数:2,代码来源:test_util.py


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