[LNT][PATHCH] collect all directives from lnt.cfg
Daniel Dunbar
daniel at zuster.org
Tue Jan 21 15:08:08 PST 2014
If we are going to go this route, I think I would rather we just move to
using Flask's app.config.from_pyfile() and ditch our custom config wrapper.
We could start by using app.config.from_pyfile() on the lnt.cfg file, and
then eventually ditch our wrapper once it isn't used, which would probably
be a simple start to get the equivalent of this patch.
- Daniel
On Tue, Jan 21, 2014 at 10:20 AM, Chris Matthews
<chris.matthews at apple.com>wrote:
> I’d like to propose LNT collect all configuration directives out of the
> lnt.cfg configuration file. My motivation for this is that I have been
> developing experimental LNT functionality by building flask extensions out
> of tree, where they don’t break things. Currently the LNT Config class
> looks for explicit keys in the config file, and adds those to the flask app
> config. To allow out of tree modules to add configuration directives, I
> have patched config so that all directives in the file are added to the
> config object, making sure not to overwrite any that are there already.
>
> diff --git a/lnt/server/config.py b/lnt/server/config.py
> index
> 2e146b9fece5adb75cecbea65aa1899261940cb2..6bc5c4d5232332bc4be4e627e365ad2afacebb14
> 100644
> --- a/lnt/server/config.py
> +++ b/lnt/server/config.py
> @@ -97,13 +97,20 @@ class Config:
>
> secretKey = data.get('secret_key', None)
>
> - return Config(data.get('name', 'LNT'), data['zorgURL'],
> + cfg = Config(data.get('name', 'LNT'), data['zorgURL'],
> dbDir, os.path.join(baseDir, tempDir), secretKey,
> dict([(k,DBInfo.fromData(dbDirPath, v,
> default_email_config))
> for k,v in
> data['databases'].items()]),
> data.get('baselineRevision', '144168'))
> -
> +
> + # Add any remaining keys to the config object.
> + for key, val in data.items():
> + if not hasattr(cfg, key):
> + setattr(cfg, key, val)
> + return cfg
> +
> +
> @staticmethod
> def dummyInstance():
> baseDir = tempfile.mkdtemp()
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140121/47ab1de6/attachment.html>
More information about the llvm-commits
mailing list