On Thursday, August 31, 2017 at 8:05:51 AM UTC-7, Anthony wrote: > > Here is a variation of something I use in Jupyter notebook: > > import os > import gluon.shell > from gluon.settings import global_settings > from gluon.storage import Storage > > def web2py_environment(app, controller=None, web2py_path=os.getcwd()): > # Update global_settings. > global_settings.gluon_parent = global_settings.applications_parent = > web2py_path > global_settings.cmd_options = Storage(shell=True) # for code that > tests for shell > with open(os.path.join(web2py_path, 'VERSION'), 'rb') as version_info: > global_settings.web2py_version = version_info.read().split()[-1]. > strip() > # Create the web2py environment. > environment = gluon.shell.env(app, import_models=True, c=controller, > dir=os.path.join(web2py_path, 'applications', app)) > folder = environment['request'].folder > if controller: > pyfile = os.path.join(folder, 'controllers', controller + '.py') > if os.path.isfile(pyfile): > execfile(pyfile, environment) > globals().update(**environment) > > In your shell, import the above function and call: > > web2py_environment('yourapp', 'yourcontroller') > > Note, if the web2py folder is not the current working directory, you will > need to explicity specify the web2py path (though you could certainly hard > code that for your system rather than specifying it explicitly in the call). > > You can simplify the above code a bit if you don't need to add a > controller to the environment, and updating those global settings isn't > strictly necessary to get a working environment. >
Cool, that seems to work nicely, thanks! -- 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 web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.