mirror of
https://github.com/OpenMTC/OpenMTC.git
synced 2025-05-11 21:02:50 +00:00
37 lines
1.7 KiB
Python
37 lines
1.7 KiB
Python
from datetime import timedelta
|
|
from openmtc.configuration import (Configuration, BooleanOption, ListOption,
|
|
LowerCaseEnumOption, LogLevel, SimpleOption)
|
|
|
|
|
|
def timedelta_in_seconds(sec):
|
|
return timedelta(seconds=sec)
|
|
|
|
|
|
class GlobalConfiguration(Configuration):
|
|
__name__ = "global configuration"
|
|
__options__ = {"disable_forwarding": BooleanOption(default=False),
|
|
"default_lifetime": SimpleOption(type=int,
|
|
default=timedelta_in_seconds(60 * 60),
|
|
converter=timedelta_in_seconds),
|
|
"max_lifetime": SimpleOption(type=int,
|
|
default=timedelta_in_seconds(60 * 60 * 24),
|
|
converter=timedelta_in_seconds),
|
|
"min_lifetime": SimpleOption(type=int,
|
|
default=timedelta_in_seconds(5),
|
|
converter=timedelta_in_seconds),
|
|
"additional_host_names": ListOption(str),
|
|
"require_auth": BooleanOption(default=False),
|
|
"default_content_type": SimpleOption()}
|
|
|
|
|
|
class LoggingConfiguration(Configuration):
|
|
__name__ = "logging configuration"
|
|
__options__ = {"level": LowerCaseEnumOption(default=LogLevel.error),
|
|
"file": SimpleOption(default=None)}
|
|
|
|
|
|
class MainConfiguration(Configuration):
|
|
__name__ = "main configuration"
|
|
__options__ = {"global": SimpleOption(GlobalConfiguration),
|
|
"logging": SimpleOption(LoggingConfiguration)}
|