eldoc/mods/settings.py

41 lines
1.5 KiB
Python
Raw Normal View History

2019-11-12 19:30:17 +03:00
from mods.db import dbo
# Имена ключей параметров
S_KEY_RECEPTION_LIST = 'reception_list'
S_RECEPTION_LIST_DAY_START = 'day_start'
S_RECEPTION_LIST_DAY_END = 'day_end'
S_RECEPTION_LIST_INTERVAL = 'interval'
# Получение параметров
def s_get_reception_list():
class RLSettings:
day_start = None
day_end = None
interval = None
s = dbo._Settings.get(dbo._Settings.key == S_KEY_RECEPTION_LIST).val # @UndefinedVariable
o = RLSettings()
o.day_start = s[S_RECEPTION_LIST_DAY_START]
o.day_end = s[S_RECEPTION_LIST_DAY_END]
o.interval = s[S_RECEPTION_LIST_INTERVAL]
return o
# Установка параметров
def s_set_reception_list(dstart, dend, interval):
v = {
S_RECEPTION_LIST_DAY_START: dstart,
S_RECEPTION_LIST_DAY_END: dend,
S_RECEPTION_LIST_INTERVAL: interval
}
with dbo.db.atomic():
q = dbo._Settings.select().where(dbo._Settings.key == S_KEY_RECEPTION_LIST) # @UndefinedVariable
if not len(q):
dbo._Settings.create(key=S_KEY_RECEPTION_LIST, val=v) # @UndefinedVariable
else:
dbo._Settings.update(val=v).where(dbo._Settings.key == S_KEY_RECEPTION_LIST).execute() # @UndefinedVariable
### Инициализация начальных значений параметров
# Начальный график приёмов
with dbo.db.atomic():
q = dbo._Settings.select().where(dbo._Settings.key == S_KEY_RECEPTION_LIST) # @UndefinedVariable
if not len(q):
s_set_reception_list([8,0], [17,0], 30)