2015-10-30 3 views
1

Мне нужно выполнить различные действия на основе того, какой файл конфигурации передается в момент запуска сервера.Pyramid: получение настроек INI filename

У меня есть три файла конфигурации - prod.ini, dev.ini и test.ini.

Когда я

pserve test.ini 

Я хочу, чтобы иметь возможность знать, в коде, что test.ini был принят. Есть ли способ сделать это?

Я проверил config.registry.settings - но у него ничего нет.

Единственный другой вариант, который у меня есть, - указать директиву env внутри INI-файлов, а затем получить к ней доступ - что очень просто. Но я не хотел выполнять дополнительную работу и должен помнить, что нужно делать это для каждого нового файла INI, который я создаю.

ответ

4

WSGI точка входа должна выглядеть следующим образом:

def main(global_config, **settings): 
    """ This function returns a Pyramid WSGI application. 

Если память не сервер меня неправильно, должно быть global_config["__file__"], который конфигурации INI файла.

Однако то, что я обычно делаю, что внутри INI самого файла указать переменную mode = production или mode = test и т.д.

+2

Я хотел бы добавить, что вы не должны иметь глобальный режим, а один конфигурационный ключ для каждого поведения. Например, 'use_email_mock',' allow_db_reset', 'allow_signup'. –