def matrix_config_change_cb(data, option): option_name = key_from_value(OPTIONS.options, option) if option_name == "redactions": OPTIONS.redaction_type = RedactType(W.config_integer(option)) elif option_name == "server_buffer": OPTIONS.look_server_buf = ServerBufferType(W.config_integer(option)) for server in SERVERS.values(): if server.server_buffer: server_buffer_merge(server.server_buffer) elif option_name == "max_initial_sync_events": OPTIONS.sync_limit = W.config_integer(option) elif option_name == "max_backlog_sync_events": OPTIONS.backlog_limit = W.config_integer(option) elif option_name == "fetch_backlog_on_pgup": OPTIONS.enable_backlog = W.config_boolean(option) if OPTIONS.enable_backlog: if not OPTIONS.page_up_hook: hook_page_up(matrix.globals.CONFIG) else: if OPTIONS.page_up_hook: W.unhook(OPTIONS.page_up_hook) OPTIONS.page_up_hook = None return 1
def update_option(self, option, option_name): if option_name == "address": value = W.config_string(option) self.address = value self._change_client() elif option_name == "autoconnect": value = W.config_boolean(option) self.autoconnect = value elif option_name == "port": value = W.config_integer(option) self.port = value self._change_client() elif option_name == "proxy": value = W.config_string(option) self.proxy = value elif option_name == "ssl_verify": value = W.config_boolean(option) if value: self.ssl_context.verify_mode = ssl.CERT_REQUIRED self.ssl_context.check_hostname = True else: self.ssl_context.check_hostname = False self.ssl_context.verify_mode = ssl.CERT_NONE elif option_name == "username": value = W.config_string(option) self.user = value self.access_token = "" elif option_name == "password": value = W.config_string(option) self.password = W.string_eval_expression(value, {}, {}, {}) elif option_name == "device_name": value = W.config_string(option) self.device_name = value else: pass
def int_getter(self): if cast_func: return cast_func(W.config_integer(self._option_ptrs[name])) return W.config_integer(self._option_ptrs[name])
def matrix_server_command_listfull(args): def get_value_string(value, default_value): if value == default_value: if not value: value = "''" value_string = " ({value})".format(value=value) else: value_string = "{color}{value}{ncolor}".format( color=W.color("chat_value"), value=value, ncolor=W.color("reset")) return value_string for server_name in args: if server_name not in SERVERS: continue server = SERVERS[server_name] connected = "" W.prnt("", "") if server.connected: connected = "connected" else: connected = "not connected" message = ("Server: {server_color}{server}{delimiter_color}" " [{ncolor}{connected}{delimiter_color}]" "{ncolor}").format( server_color=W.color("chat_server"), server=server.name, delimiter_color=W.color("chat_delimiters"), connected=connected, ncolor=W.color("reset")) W.prnt("", message) option = server.options["autoconnect"] default_value = W.config_string_default(option) value = W.config_string(option) value_string = get_value_string(value, default_value) message = " autoconnect. : {value}".format(value=value_string) W.prnt("", message) option = server.options["address"] default_value = W.config_string_default(option) value = W.config_string(option) value_string = get_value_string(value, default_value) message = " address. . . : {value}".format(value=value_string) W.prnt("", message) option = server.options["port"] default_value = str(W.config_integer_default(option)) value = str(W.config_integer(option)) value_string = get_value_string(value, default_value) message = " port . . . . : {value}".format(value=value_string) W.prnt("", message) option = server.options["username"] default_value = W.config_string_default(option) value = W.config_string(option) value_string = get_value_string(value, default_value) message = " username . . : {value}".format(value=value_string) W.prnt("", message) option = server.options["password"] value = W.config_string(option) if value: value = "(hidden)" value_string = get_value_string(value, '') message = " password . . : {value}".format(value=value_string) W.prnt("", message)