On 1 Aug 2012, at 10:02 AM, Massimo Di Pierro <massimo.dipie...@gmail.com> 
wrote:
> yes but by converting the object to string we can see what it is in the 
> generated url. I cannot reproduce the problem.

My point, though, is that if it's not *already* a string (and url-encoded to 
boot), it's an error, and if it happens to throw an exception, that's good and 
should not be suppressed, though of course an exception is not guaranteed.

> 
> On Wednesday, 1 August 2012 10:54:10 UTC-5, Jonathan Lundell wrote:
> On 1 Aug 2012, at 8:42 AM, Massimo Di Pierro <massimo.dipie...@gmail.com> 
> wrote:
>> in trunk. please check it.
> 
> Per my earlier message, this should not be necessary. There must be something 
> else wrong, and str() unfortunately just papers over whatever the real 
> problem is.
> 
>> 
>> On Wednesday, 1 August 2012 10:23:11 UTC-5, AbrahamLinksys wrote:
>> Hi,
>> 
>> I have an appilcation that has been running for a while, and suddenly today 
>> it gave an error on this line in my view:
>> 
>>  
>>   [<a href="{{=URL(r=request,args=request.args,vars=dict(all=1)) }}">show 
>> all attachements</a>]
>> 
>> This worked fine, but then I think I upgraded from 1.99.4 to 1.99.7, and it 
>> throws an error complaining that it cannot concatenate string and int types 
>> (because of dict(all=1) instead of all='1')
>> 
>> Of course, the error can be fixed by passing a string literal or calling 
>> str() on the int, but i was curious if this intended? 
>> 
>> I haven't been very careful to only use string vars, assuming that my 
>> laziness would be corrected by some gluonic magic. 
>> 
>> Am I supposed to have always been passing only strings as vars? Should I be 
>> proactive and hunt down places in my code in other applications (which are 
>> still using slightly older web2py versions) or is this something that might 
>> change back to being able to use integers? 
>> 
>> Just curious. Here's the relevant part of the traceback:
>> 
>>   File "/usr/web2py-latest/gluon/html.py", line 330, in URL
>>     other += '?%s' % '&'.join([var[0]+'='+var[1] for var in list_vars])
>> TypeError: cannot concatenate 'str' and 'int' objects
>> 
>> If the "other+=" line were rewritten as such, would it be a bad thing for 
>> any reason?
>>     other += '?%s' % '&'.join([str(var[0])+'='+str(var[1]) for var in 
>> list_vars])
>> 
>> Thanks,
>> Abe
>> 
>> -- 
>>  
> 
> 
> 
> -- 
>  
>  
>  


-- 



Reply via email to