Full server buffer merging implementation.
This commit is contained in:
parent
41c96fd332
commit
deea9d897e
2 changed files with 26 additions and 13 deletions
|
@ -22,9 +22,9 @@ from matrix.plugin_options import (
|
||||||
ServerBufferType
|
ServerBufferType
|
||||||
)
|
)
|
||||||
|
|
||||||
from matrix.globals import W, OPTIONS, CONFIG
|
from matrix.globals import W, OPTIONS, CONFIG, SERVERS
|
||||||
from matrix.utf import utf8_decode
|
from matrix.utf import utf8_decode
|
||||||
from matrix.utils import key_from_value
|
from matrix.utils import key_from_value, server_buffer_merge
|
||||||
from matrix.commands import hook_page_up
|
from matrix.commands import hook_page_up
|
||||||
|
|
||||||
|
|
||||||
|
@ -39,13 +39,19 @@ def matrix_config_change_cb(data, option):
|
||||||
|
|
||||||
if option_name == "redactions":
|
if option_name == "redactions":
|
||||||
OPTIONS.redaction_type = RedactType(W.config_integer(option))
|
OPTIONS.redaction_type = RedactType(W.config_integer(option))
|
||||||
|
|
||||||
elif option_name == "server_buffer":
|
elif option_name == "server_buffer":
|
||||||
OPTIONS.look_server_buf = ServerBufferType(
|
OPTIONS.look_server_buf = ServerBufferType(
|
||||||
W.config_integer(option))
|
W.config_integer(option))
|
||||||
|
for server in SERVERS.values():
|
||||||
|
server_buffer_merge(server.server_buffer)
|
||||||
|
|
||||||
elif option_name == "max_initial_sync_events":
|
elif option_name == "max_initial_sync_events":
|
||||||
OPTIONS.sync_limit = W.config_integer(option)
|
OPTIONS.sync_limit = W.config_integer(option)
|
||||||
|
|
||||||
elif option_name == "max_backlog_sync_events":
|
elif option_name == "max_backlog_sync_events":
|
||||||
OPTIONS.backlog_limit = W.config_integer(option)
|
OPTIONS.backlog_limit = W.config_integer(option)
|
||||||
|
|
||||||
elif option_name == "fetch_backlog_on_pgup":
|
elif option_name == "fetch_backlog_on_pgup":
|
||||||
OPTIONS.enable_backlog = W.config_boolean(option)
|
OPTIONS.enable_backlog = W.config_boolean(option)
|
||||||
|
|
||||||
|
|
|
@ -18,13 +18,10 @@ from __future__ import unicode_literals
|
||||||
|
|
||||||
import time
|
import time
|
||||||
|
|
||||||
import matrix.globals
|
from matrix.globals import W, SERVERS, OPTIONS
|
||||||
|
|
||||||
from matrix.plugin_options import ServerBufferType
|
from matrix.plugin_options import ServerBufferType
|
||||||
|
|
||||||
W = matrix.globals.W
|
|
||||||
GLOBAL_OPTIONS = matrix.globals.OPTIONS
|
|
||||||
|
|
||||||
|
|
||||||
def key_from_value(dictionary, value):
|
def key_from_value(dictionary, value):
|
||||||
# type: (Dict[str, Any], Any) -> str
|
# type: (Dict[str, Any], Any) -> str
|
||||||
|
@ -32,7 +29,7 @@ def key_from_value(dictionary, value):
|
||||||
|
|
||||||
|
|
||||||
def prnt_debug(debug_type, server, message):
|
def prnt_debug(debug_type, server, message):
|
||||||
if debug_type in GLOBAL_OPTIONS.debug:
|
if debug_type in OPTIONS.debug:
|
||||||
W.prnt(server.server_buffer, message)
|
W.prnt(server.server_buffer, message)
|
||||||
|
|
||||||
|
|
||||||
|
@ -77,13 +74,23 @@ def create_server_buffer(server):
|
||||||
W.buffer_set(server.server_buffer, "localvar_set_server", server.name)
|
W.buffer_set(server.server_buffer, "localvar_set_server", server.name)
|
||||||
W.buffer_set(server.server_buffer, "localvar_set_channel", server.name)
|
W.buffer_set(server.server_buffer, "localvar_set_channel", server.name)
|
||||||
|
|
||||||
# TODO merge without core
|
server_buffer_merge(server.server_buffer)
|
||||||
if GLOBAL_OPTIONS.look_server_buf == ServerBufferType.MERGE_CORE:
|
|
||||||
W.buffer_merge(server.server_buffer, W.buffer_search_main())
|
|
||||||
elif GLOBAL_OPTIONS.look_server_buf == ServerBufferType.MERGE:
|
def server_buffer_merge(buffer):
|
||||||
pass
|
if OPTIONS.look_server_buf == ServerBufferType.MERGE_CORE:
|
||||||
|
num = W.buffer_get_integer(W.buffer_search_main(), "number")
|
||||||
|
W.buffer_unmerge(buffer, num + 1)
|
||||||
|
W.buffer_merge(buffer, W.buffer_search_main())
|
||||||
|
elif OPTIONS.look_server_buf == ServerBufferType.MERGE:
|
||||||
|
if SERVERS:
|
||||||
|
first = list(SERVERS.values())[0].server_buffer
|
||||||
|
num = W.buffer_get_integer(W.buffer_search_main(), "number")
|
||||||
|
W.buffer_unmerge(buffer, num + 1)
|
||||||
|
W.buffer_merge(buffer, first)
|
||||||
else:
|
else:
|
||||||
pass
|
num = W.buffer_get_integer(W.buffer_search_main(), "number")
|
||||||
|
W.buffer_unmerge(buffer, num + 1)
|
||||||
|
|
||||||
|
|
||||||
def server_buffer_set_title(server):
|
def server_buffer_set_title(server):
|
||||||
|
|
Loading…
Add table
Reference in a new issue