tag 378312 + upstream
thanks

Hi Richard,

do you have any thoughts on this ? I can't seem to reproduce this bug,
but 2 of my Debian users are definitely seeing it, and Matthew seems
to have narrowed it down quite a bit, and is even proposing a
patch... The only thing that worries me here is that I am *not*
experiencing this bug... What do you think ?

Cheers,

--Seb

On Thu, Jul 27, 2006 at 05:11:39PM -0400, Matthew Cheetah Gabeler-Lee wrote:
> On Thu, 27 Jul 2006, Sebastien Delafond wrote:
> 
> > I still can't reproduce this one... Do you see the same behavior with
> > another fsName ?
> 
> I tried changing fsnames and mountpoints, which didn't change anything.  
> Finally, despite not really knowing python, I decided to dig into the 
> source and see if I could get anywhere, and I think I did ...
> 
> > > Traceback (most recent call last):
> > >   File "/usr/share/gmailfs/gmailfs.py", line 701, in getdir
> > >     log.debug("thread.summary is " + thread.snippet)
> > > TypeError: cannot concatenate 'str' and 'list' objects
> 
> This exception is in a try/except block.  So the exception gets logged, 
> and then the code continues.
> 
> > > Traceback (most recent call last):
> > >   File "/usr/lib/python2.3/site-packages/fuse.py", line 40, in __call__
> > >     return apply(self.func, args, kw)
> > >   File "/usr/share/gmailfs/gmailfs.py", line 725, in getdir
> > >     return map(lambda x: (x,0), lst)
> > > TypeError: argument 2 to map() must support iteration
> 
> Argument 2 is the lst variable, hmm.  Well, the lst variable is 
> initialized to an empty list *after* the line on which the prior 
> exception occurred, so this second exception is probably happening 
> because lst, at that point, is whatever python's equivalent of 
> null/undef is, rather than being a list.
> 
> Question: why does your version of python not bitch about this?  From 
> what I can find on google, the refusal to concatenate strings and lists 
> is an inherent python behavior.  Perhaps thread.snippet is coming out as 
> a different type of object for you.
> 
> Anyways, more googling, it looks like the str() function is what we 
> need to convert the list to a string.  Not really knowing what's going 
> on, however, I'm a bit worried that this may be masking some other 
> problem.  However, a quick test with this patch was successful.
> 
> --- gmailfs.py.old      2006-07-27 17:06:47.000000000 -0400
> +++ gmailfs.py.new      2006-07-27 17:06:22.000000000 -0400
> @@ -698,9 +698,9 @@
>              for thread in folder:
>                 assert len(thread) == 1
>                 for msg in thread:
> -                 log.debug("thread.summary is " + thread.snippet)
> +                 log.debug("thread.summary is " + str(thread.snippet))
>                   m = re.search(FileNameTag+'='+FileStartDelim+'(.*)'+
> -                               FileEndDelim, thread.snippet)
> +                               FileEndDelim, str(thread.snippet))
>                   if (m):
>                       # Match succeeded, we got the whole filename.
>                       log.debug("Used summary for filename")
> 
> 
> -- 
>       -Cheetah
> "Reality is that which, when you stop believing in it, doesn't go away".
>                 -- Philip K. Dick
> GPG pubkey fingerprint: A57F B354 FD30 A502 795B 9637 3EF1 3F22 A85E 2AD1
> 
> 


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to