Chad Robinson wrote:
> Dale Cooper wrote:
>> Eric Bus wrote:
>>
>>> Richard van Paasen wrote:
>>>
>>>> Instead, all modules should be extended with a 'reconfigure'
>>>> method that is
>>>> called after a (set of) config setting(s) has been changed.
>>>>
>>> And I guess the config file should be written in a 'plain-text'
>>> format, like XML, so Freevo can reload it while running.
>>>
>>> Eric
>>>
>> XML would be fine if ALL configuration could be done via interface,
>> some setup. It is better format for our Freevo machines ;)
>> However, if _some_ parts of config should be done still in vi (nano,
>> ..your fav editor) it would be IMHO better to keep the config file
>> the way it is now -> more readable for humans. Also, if someone
>> omits/accidentally deletes XML closing tag for example...all XML
>> parsing goes to hell.
>
> Why not do a hybrid, exactly the way local_conf.py overrides the
> globals? Have an XML file that is loaded after the local_conf.py and
> can override it. This is where run-time configuration changes would be
> kept.

Yes, that what's I would prefer. We would load a basic setting (like
freevo_config.py), after that the local_conf.py and than the xml
runtime changes (or the other way around). 

About the coding of this: feel free to do it / send patches. I have no
time for this right now but it is a big step we need at some point. To
make it work very easily: the xml file just adds the config variables
(see src/freevo/system/cache.py in current cvs).

Example:

freevo_config.py:
AUDIO_PREFERED_PLAYER = 'mplayer'

xmlfile:
<audio>
  <var name="prefered player" type="string">xine</var>
</audio>

The parser will set config.<tag name>_<var name with s/ /_/>, in this
case the config reader will set config.AUDIO_PREFERED_PLAYER = 'xine'


Someone willing to do this? It's a very good place for someone to
start coding because you don't have to understand much of the freevo
code to do it. 


Dischi

-- 
errors in argv often lead to output of argh
                                -- suffered wisdom

Attachment: pgpGGZs6TFBbj.pgp
Description: PGP signature

Reply via email to