summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--poezio/mam.py21
1 files changed, 16 insertions, 5 deletions
diff --git a/poezio/mam.py b/poezio/mam.py
index aa87dc4e..95fc6a5e 100644
--- a/poezio/mam.py
+++ b/poezio/mam.py
@@ -32,8 +32,7 @@ def add_line(tab, text_buffer: TextBuffer, text: str, str_time: str, nick: str,
time = datetime.strptime(time, '%Y-%m-%d %H:%M:%S')
time = time.replace(tzinfo=timezone.utc).astimezone(tz=None)
time = time.replace(tzinfo=None)
- deterministic = config.get_by_tabname('deterministic_nick_colors',
- tab.jid.bare)
+ deterministic = config.get_by_tabname('deterministic_nick_colors', tab.jid.bare)
if isinstance(tab, tabs.MucTab):
nick = nick.split('/')[1]
user = tab.get_user_by_name(nick)
@@ -47,8 +46,7 @@ def add_line(tab, text_buffer: TextBuffer, text: str, str_time: str, nick: str,
color = fg_color, -1
else:
mod = len(theme.LIST_COLOR_NICKNAMES)
- nick_pos = int(md5(nick.encode('utf-8')).hexdigest(),
- 16) % mod
+ nick_pos = int(md5(nick.encode('utf-8')).hexdigest(), 16) % mod
color = theme.LIST_COLOR_NICKNAMES[nick_pos]
else:
color = random.choice(list(xhtml.colors))
@@ -71,6 +69,7 @@ def add_line(tab, text_buffer: TextBuffer, text: str, str_time: str, nick: str,
jid=None,
)
+
async def query(
core,
groupchat: bool,
@@ -118,6 +117,7 @@ async def query(
return results
+
async def add_messages_to_buffer(tab, top: bool, results, amount: int) -> None:
"""Prepends or appends messages to the tab text_buffer"""
@@ -152,6 +152,7 @@ async def add_messages_to_buffer(tab, top: bool, results, amount: int) -> None:
tab.core.refresh_window()
return False
+
async def fetch_history(tab, end: Optional[datetime] = None, amount: Optional[int] = None):
remote_jid = tab.jid
before = tab.last_stanza_id
@@ -167,10 +168,19 @@ async def fetch_history(tab, end: Optional[datetime] = None, amount: Optional[in
groupchat = isinstance(tab, tabs.MucTab)
- results = await query(tab.core, groupchat, remote_jid, amount, reverse=True, end=end, before=before)
+ results = await query(
+ tab.core,
+ groupchat,
+ remote_jid,
+ amount,
+ reverse=True,
+ end=end,
+ before=before,
+ )
query_status = await add_messages_to_buffer(tab, True, results, amount)
tab.query_status = query_status
+
async def on_tab_open(tab) -> None:
amount = 2 * tab.text_win.height
end = datetime.now()
@@ -184,6 +194,7 @@ async def on_tab_open(tab) -> None:
except (NoMAMSupportException, MAMQueryException, DiscoInfoException):
return None
+
async def on_scroll_up(tab) -> None:
amount = tab.text_win.height
try: