예제 #1
0
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
예제 #2
0
 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
예제 #3
0
 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])
예제 #4
0
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)