Hi Alessandro,

On Sat, Jan 21, 2017 at 2:52 AM, Alessandro Molina
<[email protected]> wrote:
> If I understand correctly, what you want to do is derive a configuration
> option from one that is provided in the configuration file, before the
> configuration file is provided to TG. As you only have an
> `after_init_config` hook point, but no `before_init_config` that's what's
> making your life hard.
>
> I would say, that as you noticed everything is in fact stored into
> `tg.errorware` and you can freely change your value there in
> `after_init_config` as it was not yet used by TurboGears. So you can just
> get your option and put it into the errorware dictionary.
>
> My solution by the way is usually to move this problem to the configuration
> layer. In fact the problem is that you want to reuse the same value for two
> different configuration options, and that is made possible by PasteDeploy
> itself.
>
> So my typical configuration file in this case provides both options with a
> reference to the shared value.
> For Example a development.ini might look like:
>
> # The Shared Value
> set depot_backend_type = depot.io.local.LocalFileStorage
>
> # The Actual Value for option1
> get depot.storage1.backend = depot_backend_type
> # The Actual Value for option2
> get depot.storage2.backend = depot_backend_type
>
> This allows me to change both option1 and option2 by changing
> `depot_backend_type` but still gives me the flexibility to change backend
> only for storage1 or storage2 whenever I want.
>

I tried this:

get trace_errors.error_email = email_to
get trace_errors.smtp_server = smtp_server
get trace_errors.smtp_port = smtp_port
get trace_errors.from_address = error_email_from

which works, but only if the values of email_to, smtp_server, ... are
effectively specified. If they are not present, this gives an error at
startup of the application.

My goal was to add the above snippet (or a variation of it) in our
default ini files, and ini file template, so that users don't need to
care about it. However, we do not have default values for these
settings.

Do you know how to achieve this?

Also, I couldn't find documentation for these 'get' keyword. The 'set'
is documented in PasteDeploy documentation, but 'get' is not.

Thanks,
Thomas

-- 
You received this message because you are subscribed to the Google Groups 
"TurboGears" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/turbogears.
For more options, visit https://groups.google.com/d/optout.

Reply via email to