I have the same app installed several times within a web2py instance 
(running version 2.16.1-stable+timestamp.2017.11.14.05.54.25).

In some of them, this sentence:

URL(c='default', f=f, args=[contenido.id, contenido.slug], extension='', 
scheme=True, host=current.CONFIG.dominio)

... throws this traceback error:

Traceback (most recent call last): 
File "/var/www/medios/gluon/scheduler.py", line 501, in executor result = 
dumps(_function(*args, **vars)) 
File "applications/pescaregional/compiled/models.db.py", line 519, in 
newsletter 
File "applications/pescaregional/modules/globales.py", line 938, in 
enviar_newsletter 'url_noticia': noticia.url() + utm_vars, 
File "/var/www/medios/gluon/packages/dal/pydal/objects.py", line 2407, in 
__call__ return self.method(self.row, *args, **kwargs) 
File "applications/pescaregional/compiled/models.db.py", line 295, in 
File "applications/pescaregional/modules/virtual_methods.py", line 248, in 
contenido_url return URL(c='default', f=f, args=[contenido.id, contenido.
slug], extension='', scheme=True, host=current.CONFIG.dominio) if f else 
None 
File "/var/www/medios/gluon/html.py", line 391, in URL args, other, scheme, 
host, port, language=language) 
File "/var/www/medios/gluon/rewrite.py", line 197, in url_out function, args
, other, scheme, host, port, language) 
File "/var/www/medios/gluon/rewrite.py", line 1366, in map_url_out return 
map.acf() 
File "/var/www/medios/gluon/rewrite.py", line 1292, in acf self.omit_acf() # 
try to omit a/c/f 
File "/var/www/medios/gluon/rewrite.py", line 1241, in omit_acf if self.args
[0] in self.functions or self.args[0] in self.controllers or self.args[0] in 
applications: TypeError: 'in ' requires string as left operand, not long



The problem is solved changing the sentence with this:

URL(c='default', f=f, args=['%s' % contenido.id, '%s' % contenido.slug], 
extension='', scheme=True, host=current.CONFIG.dominio)

... notice that the args are converted to strings.

But the weird part is that *the error only happens in some of the installed 
apps; and, remember, it's the exact same app installed several times*.

First I thought it had something to do with the values stored at 
"contenido", which is a row from a table. But it happens with any row.

I'm using PostgreSQL 9.3. I've checked the databases' enconding and they 
all have the same one. I also checked the "contenido" table definition in a 
couple of dbs (one corresponding to an app that presents the error, and 
other that doesn't), and they are exactly the same.

What could be the difference that makes gluon/rewrite.py throw the error in 
some of the apps?

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to