rum.wsgiapp.RumApp can be configured by pasing a string pointing to a config file or a dictionary.
This dictionary can contain several keys:
- debug
- Whether or not debug mode should be enabled.
- full_stack
- Whether or not Rum should stack needed middleware. If it is False Rum assumes you will be stacking ToscaWidgets and repoze.tm2 yourself.
- templating
- A dictionary that holds keyword arguments which will be used to instantiate a rum.interfaces.IRenderer. The default renderer is passed in this dict’s renderer key (genshi by default)
The following keys contain a dict to configure the rum.component.Component instances. The appropiate component is selected with the use key inside each nested dict, the rest of the keys are passed as keyword arguments (refer to each plugin’s docstring to see what keys are accepted, extra keys will be ignored
- rum.viewfactory
- The rum.interfaces.IViewFactory implementation to use and its configuration
- rum.repositoryfactory
- The rum.interfaces.IRepositoryFactory implementation to use, plus configuration
- rum.controllerfactory
- The rum.interfaces.IControllerFactory implementation to use...
- rum.translator
- The rum.i18n.RumTranslator configuration.
If a string is passed then it should be the path to a file which contains a pseudo-ini formatted file. This is a sample of a working config file:
[DEFAULT]
debug = True
page_size = 10
[rum.repositoryfactory]
use = 'sqlalchemy'
scan_modules = ['rumalchemy.tests.model2']
sqlalchemy.url = 'sqlite:///rum_demo.db'
[rum.translator]
use = 'default'
locales = ['en', 'es']
[rum.viewfactory]
use = 'toscawidgets'
[templating]
renderer = 'genshi'
As you can see, the structure of the .ini file mirrors the struture of the config dict described above.