> You may also wish to consider using sub-folders for models

We have our own Conditional Model Loading system to handle not having to 
load all models all the time.
We can't simply use the Web2Py system as we have too many inter-linkages 
across models/controllers.

> is there a specific reason you want to suppress model execution?

One of the key ones is that the DB definition is defined dynamically from 
deployment_settings:
http://bazaar.launchpad.net/~flavour/sahana-eden/trunk/view/head:/models/00_db.py#L38

These deployment_settings are currently defined in a previous model:
http://bazaar.launchpad.net/~flavour/sahana-eden/trunk/view/head:/deployment-templates/models/000_config.py

What Anubhav's project is about is creating a web-based utility for 
creating this file instead of having to edit the text file manually.
This cannot proceed with 00_db.py & beyond as the DB hasn't been configured 
yet...

>Not really a good solution, but you can do in the beginning of every model 
file.
>if request.function in ['index', 'another', 'other']:
>   #model code goes here

We /could/ actually do this for the websetup, slightly differently:
In the 1st model file when we know we're the 1st run & hence are to 
redirect to WebSetup, we do this as a redirect() there (so no further model 
processing)
In every other model file, we could add at the beginning an exclusion when 
we need to access the WebSetup controller:
if request.controller not in ["setup"]:

It would be nice not to have to lose a level of indent in all these files 
as we're already struggling to keep within the 80 char limit, especially as 
we lose a bunch from conditional model loads (both option to disable 
modules & also simply loading models only when required)
There's no way to simply 'return' from that file & continue with the next 
is there?

It would be really sweet to simply have a 'now stop model processing & 
continue to controller' option...

Thanks for the ideas :)

Fran.

Reply via email to