Возможно кому-то доводилось сталкиваться с этим замечательным фреймворком, надеюсь сможете дать дельных советов
![](/static/djangobb_forum/img/smilies/smile.png)
Собственно вопрос: Имеется приложение “Х”, есть набор кейвордов, которые работают с конфигом для приложения “Х” (модификация, удаление и т.п.). Данные кейворды (для работы с конфигом) используют библиотеку на питоне.
Далее имеется набор сюитов, в которых имеются тест кейсы. Внутри этих кейсов я модифицирую конфиг приложения “Х”, используя “набор кейвордов для работы с конфигом”.
Проблема заключается в следующем - в моём случае питоновская библиотека для работы с конфигом по своей сути является “синглтоном”
Подскажите, пожалуйста могу ли я как-то создавать (экземпляры?) библиотеки (питоновской), чтобы в дальнейшем работать с экземпляром класса, а не синглтоном?
Пример работы с конфигом (по кейвордам):
1. Считать конфиг для приложения “Х”
2. Изменить параметр “А” для приложения “Х”
3. Изменить параметр “B” для приложения “Х”
4. Сохранить новую конфигурацию для “X”
Пример выше - работает ок, но вся проблема заключается в том, что весь мой конфиг (дерево, которое получается после парсинга конфига) хранится внутри питоновской библиотеки и никуда не сохраняется пока я не вызову “Сохранить новую конфигурацию”
Т.е. такая последовательность действий у меня не взлетит:
1. Считать конфиг для приложения “X”
2. Изменить параметр “А” для приложения “Х”
3. Изменить параметр “B” для приложения “Х”
4. Считать конфиг для приложения “Y” (здесь потеряется вся инфа об действиях 2,3)
5. Изменить параметр “C” для приложения “Y”
6. Сохранить новую конфигурацию для “Y” (тут всё ок будет)
7. Сохранить новую конфигурацию для “X” (а здесь мы ничего не поменяем, возможно даже будет ошибка, потому что “внутри” либы у нас сейчас находится совсем другой конфиг)
В итоге я хочу сделать так:
${x} = Load Config For X ${y} = Load Config For Y
И далее уже работать с {x} и {y}.
Надеюсь что смог объяснить, спасибо!