Помогите разобраться, делаю своё первое малюсенькое приложение в виде packag'а, соответственно есть модуль __init__.py с функцией main, в нём импортирую модуль db.py, где с использованием либы peewee создано несколько классов и методов для работы с mysql:
hostconf_dbname = "database"
hostconf_dbaddr="127.0.0.1"
...
db = MySQLDatabase(hostconf_dbname, host=hostconf_dbaddr, user=hostconf_dbuser, passwd=hostconf_dbpass)
db.connect()
class BaseModel(Model):
class Meta:
database = db
В __init__.py тоже есть ряд опций, я хочу все опции вынести в конфигурационный файлик и иметь в проекте объект/модуль с нужными мне переменными (используя ConfigParser)
Т.е. в коде выше использовать что-то вроде: db = MySQLDatabase(conf.hostconf_dbname, host=conf.hostconf_dbaddr, …)
Собственно вопрос - как правильно организовать код? (чтобы в Meta поле database было инициализировано параметром из конфига)
- создать модуль conf, в нём несколько переменных для опций
- в __init__.py сначала распарсить конфиг, инициализировать переменные модуля conf
- и только потом импортировать модуль db
так? не коряво ли получается?
Отредактировано Virtul (Апрель 22, 2013 14:41:41)