(François: Hi, We are debugging this problem but haven't found the source of the
issue. There's many information in the report though, so hopefully you can find
what's going on. See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=500757)

Yves-Alexis Perez wrote:
> On ven, 2008-10-03 at 13:26 +0200, Emilio Pozuelo Monfort wrote:
>> How does the artist tag for your files look like?
>>
>> Could you apply the attached patch to
>> /usr/share/decibel-audio-player/src/modules/Library.py and attach the
>> output of
>> running decibel-audio-player in a terminal and trying to open your
>> library?
> 
> [EMAIL PROTECTED]: decibel-audio-player
> path is: /home/corsac/.config/decibel-audio-player/Library/MP3
> artist is: 
> Traceback (most recent call last):
>   File "/usr/share/decibel-audio-player/src/modules/Library.py", line
> 489, in handleMsg
>     self.loadLibrary(self.tree, self.currLib)
>   File "/usr/share/decibel-audio-player/src/modules/Library.py", line
> 381, in loadLibrary
>     print 'currChar is: ' + currChar
> TypeError: cannot concatenate 'str' and 'NoneType' objects

Ok. The following code in modules.Library.loadLibrary looks wrong to me:

prevChar = None
...
for artist in pickleLoad(os.path.join(path, 'artists')):
    if len(artist[ART_NAME]) != 0: ...
    else: currChar = prevChar   # At this point currChar may be None

    if prevChar is None or (...):       # prevChar may still be None
        prevChar = currChar             # prevChar still is None
        if currChar.isdigit():          # currChar is None -> bug

This happens for you as your first artist in the index (it's sorted
alphabetically) is '', so "len(artist[ART_NAME])" is 0, so currChar is set to 
None.

The other problem here is that AFAICS the artist tag shouldn't be empty, but
either the artist tag from the audio file, or UNKNOWN_ARTIST, which is
_("Unknown Artist"). Unfortunately I haven't found where the source of the issue
may be.


> 
>> Could you also attach $path/artists, where $path should be shown in
>> the terminal
>> when patching Library.py and running decibel-audio-player?
> 
> Attached

Thanks. The first artist shows the name is ''. I've created a library with an
album whose songs don't have an artist tag and $libPath/artists looks like this:

(lp1
(S'Unknown Artist'
p2
S'0'
I1
tp3
a.

You can look at /home/corsac/.config/decibel-audio-player/Library/MP3/0/ and see
what files are affected.

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to