I have a virtual method field, and its associated function is defined
inside a module.
That function imports another function defined in another module.
And that last function also imports another module.
The virtual method function works ok when I call it from a controller
function.
However, if I call that method in the scheduler environment, I have the
error "Cannot import module mercadopago"
The virtual method field is defined in db.py like this:
from virtual_methods import set_metodo_pago
db.define_table('sitios',
Field('nombre'),
Field.Method('set_metodo_pago', lambda row, metodo_pago:
sitios_set_metodo_pago(row, metodo_pago)))
These are my modules:
modules/virtual_methods.py
modules/globals.py
modules/mercadopago.py
modules/scheduler_functions.py
in modules/virtual_methods.py
def set_metodo_pago(row, metodo_pago):
from globals import get_mercadopago_client
mp = get_mercadopago_client()
...
in modules/globals.py
def get_mercadopago_client():
import mercadopago
return MP.client()
...
in modules/scheduler_function.py
def instalar_nuevo_sitio(nombre):
db = current.db
sitio = db(db.sitios.nombre == nombre).select().first()
sitio.set_metodo_pago(metodopago='ticket') # this is the line that
throws the error
However, the same line works ok if I call it from a controller/function.
What am I missing?
--
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.