.. include:: ../links.txt .. _config: Rum's config format =================== :class:`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 :class:`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 :class:`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 :class:`rum.interfaces.IViewFactory` implementation to use and its configuration rum.repositoryfactory The :class:`rum.interfaces.IRepositoryFactory` implementation to use, plus configuration rum.controllerfactory The :class:`rum.interfaces.IControllerFactory` implementation to use... rum.translator The :class:`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.