コード例 #1
0
ファイル: _audio.py プロジェクト: nikhilm/muzicast
    def website(self):
        """Look for a URL in the audio metadata, or a Google search
        if no URL can be found."""

        if "website" in self: return self.list("website")[0]
        for cont in self.list("contact") + self.list("comment"):
            c = cont.lower()
            if (c.startswith("http://") or c.startswith("https://") or
                c.startswith("www.")): return cont
            elif c.startswith("//www."): return "http:" + cont
        else:
            text = "http://www.google.com/search?q="
            esc = lambda c: ord(c) > 127 and '%%%x'%ord(c) or c
            if "labelid" in self: text += ''.join(map(esc, self["labelid"]))
            else:
                artist = util.escape("+".join(self("artist").split()))
                album = util.escape("+".join(self("album").split()))
                artist = util.encode(artist)
                album = util.encode(album)
                artist = "%22" + ''.join(map(esc, artist)) + "%22"
                album = "%22" + ''.join(map(esc, album)) + "%22"
                text += artist + "+" + album
            text += "&ie=UTF8"
            return text
コード例 #2
0
ファイル: _audio.py プロジェクト: nikhilm/muzicast
 def to_dump(self):
     """A string of 'key=value' lines, similar to vorbiscomment output."""
     s = []
     for k in self.keys():
         k = str(k)
         if isinstance(self[k], int) or isinstance(self[k], long):
             s.append("%s=%d" % (k, self[k]))
         elif isinstance(self[k], float):
             s.append("%s=%f" % (k, self[k]))
         else:
             for v2 in self.list(k):
                 if isinstance(v2, str):
                     s.append("%s=%s" % (k, v2))
                 else:
                     s.append("%s=%s" % (k, util.encode(v2)))
     for k in (INTERN_NUM_DEFAULT - set(self.keys())):
         s.append("%s=%d" % (k, self.get(k, 0)))
     if "~#rating" not in self:
         s.append("~#rating=%f" % self("~#rating"))
     s.append("~format=%s" % self.format)
     s.append("")
     return "\n".join(s)