If you want to call the function from another function in the same
controller, you could do something like this:
def message():
# Code to create variables needed for output.
return dict(var1=...,var2=...,etc.)
def mail_sender():
# Call the message() function and render its output using the
message.email view.
email_content=response.render('default/message.email', message())
# Code to send the email message.
return # whatever this function should return
If you need to call message() from somewhere else, you could move the part
of the code that generates the variables for the output to a module or maybe
a model. Or you could try using urllib2.urlopen() or the web2py fetch()
function (see
http://web2py.com/book/default/chapter/12#Fetching-an-external-URL). Just
create a message.email view and use the .email extension when calling the
URL.
Anthony
On Monday, July 18, 2011 5:47:31 AM UTC-4, Manuele wrote:
> hi *,
>
> I woulld like to reuse a controller function with a different view to
> get an html message to send via email... how is it possible?
>
> Is there a way from python code to get the html text that is returned
> when a browser call an url that correspond to my controller "dressed" by
> my view with the same name of my controller and, for example, with
> .email extension?
>
> many thanks
>
> Manuele
>
>