Allow for a no limit option on restore_timeout
This commit is contained in:
parent
aeb64a516c
commit
b625199c47
|
@ -1411,12 +1411,6 @@ class ChatControl(ChatControlBase):
|
||||||
if gajim.jid_is_transport(jid):
|
if gajim.jid_is_transport(jid):
|
||||||
return
|
return
|
||||||
|
|
||||||
# How many lines to restore and when to time them out
|
|
||||||
restore_how_many = gajim.config.get('restore_lines')
|
|
||||||
if restore_how_many <= 0:
|
|
||||||
return
|
|
||||||
timeout = gajim.config.get('restore_timeout') # in minutes
|
|
||||||
|
|
||||||
# number of messages that are in queue and are already logged, we want
|
# number of messages that are in queue and are already logged, we want
|
||||||
# to avoid duplication
|
# to avoid duplication
|
||||||
pending_how_many = len(gajim.events.get_events(self.account, jid,
|
pending_how_many = len(gajim.events.get_events(self.account, jid,
|
||||||
|
@ -1425,8 +1419,8 @@ class ChatControl(ChatControlBase):
|
||||||
pending_how_many += len(gajim.events.get_events(self.account,
|
pending_how_many += len(gajim.events.get_events(self.account,
|
||||||
self.contact.get_full_jid(), ['chat', 'pm']))
|
self.contact.get_full_jid(), ['chat', 'pm']))
|
||||||
|
|
||||||
rows = gajim.logger.get_last_conversation_lines(jid, restore_how_many,
|
rows = gajim.logger.get_last_conversation_lines(
|
||||||
pending_how_many, timeout, self.account)
|
jid, pending_how_many, self.account)
|
||||||
|
|
||||||
local_old_kind = None
|
local_old_kind = None
|
||||||
self.conv_textview.just_cleared = True
|
self.conv_textview.just_cleared = True
|
||||||
|
|
|
@ -582,8 +582,7 @@ class Logger:
|
||||||
exceptions.PysqliteOperationalError) as error:
|
exceptions.PysqliteOperationalError) as error:
|
||||||
self.dispatch('DB_ERROR', error)
|
self.dispatch('DB_ERROR', error)
|
||||||
|
|
||||||
def get_last_conversation_lines(self, jid, restore_how_many_rows,
|
def get_last_conversation_lines(self, jid, pending_how_many, account):
|
||||||
pending_how_many, timeout, account):
|
|
||||||
"""
|
"""
|
||||||
Accept how many rows to restore and when to time them out (in minutes)
|
Accept how many rows to restore and when to time them out (in minutes)
|
||||||
(mark them as too old) and number of messages that are in queue and are
|
(mark them as too old) and number of messages that are in queue and are
|
||||||
|
@ -598,8 +597,16 @@ class Logger:
|
||||||
return []
|
return []
|
||||||
where_sql, jid_tuple = self._build_contact_where(account, jid)
|
where_sql, jid_tuple = self._build_contact_where(account, jid)
|
||||||
|
|
||||||
|
# How many lines to restore and when to time them out
|
||||||
|
restore_how_many = gajim.config.get('restore_lines')
|
||||||
|
if restore_how_many <= 0:
|
||||||
|
return []
|
||||||
|
timeout = gajim.config.get('restore_timeout') # in minutes
|
||||||
|
|
||||||
now = int(float(time.time()))
|
now = int(float(time.time()))
|
||||||
timed_out = now - (timeout * 60) # before that they are too old
|
if timeout > 0:
|
||||||
|
timeout = now - (timeout * 60) # before that they are too old
|
||||||
|
|
||||||
# so if we ask last 5 lines and we have 2 pending we get
|
# so if we ask last 5 lines and we have 2 pending we get
|
||||||
# 3 - 8 (we avoid the last 2 lines but we still return 5 asked)
|
# 3 - 8 (we avoid the last 2 lines but we still return 5 asked)
|
||||||
try:
|
try:
|
||||||
|
@ -609,8 +616,8 @@ class Logger:
|
||||||
ORDER BY time DESC LIMIT %d OFFSET %d
|
ORDER BY time DESC LIMIT %d OFFSET %d
|
||||||
''' % (where_sql, KindConstant.SINGLE_MSG_RECV,
|
''' % (where_sql, KindConstant.SINGLE_MSG_RECV,
|
||||||
KindConstant.CHAT_MSG_RECV, KindConstant.SINGLE_MSG_SENT,
|
KindConstant.CHAT_MSG_RECV, KindConstant.SINGLE_MSG_SENT,
|
||||||
KindConstant.CHAT_MSG_SENT, KindConstant.ERROR, timed_out,
|
KindConstant.CHAT_MSG_SENT, KindConstant.ERROR, timeout,
|
||||||
restore_how_many_rows, pending_how_many), jid_tuple)
|
restore_how_many, pending_how_many), jid_tuple)
|
||||||
|
|
||||||
results = self.cur.fetchall()
|
results = self.cur.fetchall()
|
||||||
messages = []
|
messages = []
|
||||||
|
|
Loading…
Reference in New Issue