you're right, my java implementation does indeed parse for Id3v2 (sorry for the confusion). i'm using the getrawid3v2() method of this bitstream class (http://www.javazoom.net/javalayer/docs/docs0.4/ javazoom/jl/decoder/Bitstream.html) to return an inputstream that then i buffer and parse. apologies if i misrepresented my code!
back to python, i wonder if i'm misusing the mutagen id3 module. this brief tutorial (http://www.sacredchao.net/quodlibet/wiki/Development/ Mutagen/Tutorial) leads me to believe that something like this might work: from mutagen.mp3 import MP3 id3tags = MP3(urllib2.urlopen(URL)) but this gives me the following TypeError: "coercing to Unicode: need string or buffer, instance found". does this mean i need to convert the "file-like object" that is returned by urlopen() into a unicode object? if so, do i just decode() with 'utf-8', or is this more complex? as of now, doing so gives me mostly "No such file or directory" errors, with a few HTTP 404s. anyway, thanks again.... On May 15, 1:02 pm, Hrvoje Niksic <[EMAIL PROTECTED]> wrote: > "John Krukoff" <[EMAIL PROTECTED]> writes: > > I'd love to know how Java handles all that automatically through a > > generic stream interface, though. > > It could be that their stream interface supports seek(), and that > seek()ing on HTTP connection sends the appropriate range request and, > if it fails, throws an appropriate exception which the client code > interprets as "seeking impossible, read the whole file". > > But that doesn't apply to the InputStream interface described > athttp://java.sun.com/j2se/1.5.0/docs/api/java/io/InputStream.html-- no > seeking there. -- http://mail.python.org/mailman/listinfo/python-list