[Web-SIG] Standardized configuration
Ian Bicking
ianb at colorstudy.com
Sat Jul 23 20:46:02 CEST 2005
>> To do this, we use a ConfigParser-format config file named
>> 'myapplication.conf' that looks like this::
>>
>> [application:sample1]
>> config = sample1.conf
>> factory = wsgiconfig.tests.sample_components.factory1
>>
>> [application:sample2]
>> config = sample2.conf
>> factory = wsgiconfig.tests.sample_components.factory2
>>
>> [pipeline]
>> apps = sample1 sample2
On another tack, I think it's important we consider how
setuptools/pkg_resources fits into this. Specifically we should allow:
[application:sample1]
require = WSGIConfig
factory = ...
Since the factory might not be importable until require() is called.
There's lots of other potential benefits to being able to get that
information about requirements as well.
Another option is if, instead of a factory (or as an alternative
alongside it) we make distributions publishable themselves, like:
[application:sample]
egg = MyAppSuite[filebrowser]
Which would require('MyAppSuite[filebrowser]'), and look in
Paste.egg-info for a configuration file. The [filebrowser] portion is
pkg_resource's way of defining a feature, and I figure it can also
identify a specific application if one package holds multiple
applications. However, that feature specification would be optional.
What the configuration file in egg-info looks like, I don't know.
Probably just like the original configuration file, except this time
with a factory.
I don't like the configuration key "egg" though. But eh, that's a detail.
--
Ian Bicking / ianb at colorstudy.com / http://blog.ianbicking.org
More information about the Web-SIG
mailing list