'last_opt_revision': module_options_object_schema,
'leaderboard': module_options_object_schema,
'leaderboard_description': module_options_object_schema,
+ 'sqlite3_killpoint': module_options_object_schema,
'log_level': module_options_object_schema,
'log_to_cluster': module_options_object_schema,
'log_to_cluster_level': module_options_object_schema,
}
}
+ static level_t str_to_level(std::string_view s) {
+ if (s == "basic") {
+ return LEVEL_BASIC;
+ } else if (s == "advanced") {
+ return LEVEL_ADVANCED;
+ } else if (s == "dev") {
+ return LEVEL_DEV;
+ } else {
+ return LEVEL_UNKNOWN;
+ }
+ }
+
enum flag_t {
FLAG_RUNTIME = 0x1, ///< option can be changed at runtime
FLAG_NO_MON_UPDATE = 0x2, ///< option cannot be changed via mon config
option.type = t;
}
}
+ p = PyDict_GetItemString(pOption, "level");
+ if (p && PyLong_Check(p)) {
+ long v = PyLong_AsLong(p);
+ option.level = static_cast<Option::level_t>(v);
+ } else {
+ option.level = Option::level_t::LEVEL_ADVANCED;
+ }
p = PyDict_GetItemString(pOption, "desc");
if (p && PyObject_TypeCheck(p, &PyUnicode_Type)) {
option.desc = PyUnicode_AsUTF8(p);
# common/options.h: value_t
OptionValue = Optional[Union[bool, int, float, str]]
+class OptionLevel(IntEnum):
+ BASIC = 0
+ ADVANCED = 1
+ DEV = 2
+ UNKNOWN = 3
class Option(Dict):
"""
def __init__(
self,
name: str,
+ level: OptionLevel = OptionLevel.ADVANCED,
default: OptionValue = None,
type: 'OptionTypeLabel' = 'str',
desc: Optional[str] = None,