Logger: Refactor insert_jid()
- make it use get_jid_id() and return the jid_id
This commit is contained in:
parent
accef11c93
commit
b95759dfb8
|
@ -283,7 +283,7 @@ class Logger:
|
||||||
return [user['jid'] for user in family]
|
return [user['jid'] for user in family]
|
||||||
return [jid]
|
return [jid]
|
||||||
|
|
||||||
def get_jid_id(self, jid, type_=None):
|
def get_jid_id(self, jid, kind=None, type_=None):
|
||||||
"""
|
"""
|
||||||
Get the jid id from a jid.
|
Get the jid id from a jid.
|
||||||
In case the jid id is not found create a new one.
|
In case the jid id is not found create a new one.
|
||||||
|
@ -295,6 +295,9 @@ class Logger:
|
||||||
return the jid id
|
return the jid id
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
if kind in (KindConstant.GC_MSG, KindConstant.GCSTATUS):
|
||||||
|
type_ = JIDConstant.ROOM_TYPE
|
||||||
|
|
||||||
result = self._jid_ids.get(jid, None)
|
result = self._jid_ids.get(jid, None)
|
||||||
if result is not None:
|
if result is not None:
|
||||||
return result.jid_id
|
return result.jid_id
|
||||||
|
@ -1079,6 +1082,7 @@ class Logger:
|
||||||
def insert_jid(self, jid, kind=None, type_=JIDConstant.NORMAL_TYPE):
|
def insert_jid(self, jid, kind=None, type_=JIDConstant.NORMAL_TYPE):
|
||||||
"""
|
"""
|
||||||
Insert a new jid into the `jids` table.
|
Insert a new jid into the `jids` table.
|
||||||
|
This is an alias of get_jid_id() for better readablility.
|
||||||
|
|
||||||
:param jid: The jid as string
|
:param jid: The jid as string
|
||||||
|
|
||||||
|
@ -1086,13 +1090,7 @@ class Logger:
|
||||||
|
|
||||||
:param type_: A JIDConstant
|
:param type_: A JIDConstant
|
||||||
"""
|
"""
|
||||||
if jid in self._jid_ids:
|
return self.get_jid_id(jid, kind, type_)
|
||||||
return
|
|
||||||
if kind in (KindConstant.GC_MSG, KindConstant.GCSTATUS):
|
|
||||||
type_ = JIDConstant.ROOM_TYPE
|
|
||||||
sql = 'INSERT OR IGNORE INTO jids (jid, type) VALUES (?, ?)'
|
|
||||||
self.con.execute(sql, (jid, type_))
|
|
||||||
self._timeout_commit()
|
|
||||||
|
|
||||||
def insert_into_logs(self, jid, time_, kind, unread=True, **kwargs):
|
def insert_into_logs(self, jid, time_, kind, unread=True, **kwargs):
|
||||||
"""
|
"""
|
||||||
|
@ -1110,15 +1108,15 @@ class Logger:
|
||||||
:param kwargs: Every additional named argument must correspond to
|
:param kwargs: Every additional named argument must correspond to
|
||||||
a field in the `logs` table
|
a field in the `logs` table
|
||||||
"""
|
"""
|
||||||
self.insert_jid(jid, kind=kind)
|
jid_id = self.get_jid_id(jid, kind=kind)
|
||||||
|
|
||||||
sql = '''
|
sql = '''
|
||||||
INSERT INTO logs (jid_id, time, kind, {columns})
|
INSERT INTO logs (jid_id, time, kind, {columns})
|
||||||
VALUES ((SELECT jid_id FROM jids WHERE jid = ?), ?, ?, {values})
|
VALUES (?, ?, ?, {values})
|
||||||
'''.format(columns=', '.join(kwargs.keys()),
|
'''.format(columns=', '.join(kwargs.keys()),
|
||||||
values=', '.join('?' * len(kwargs)))
|
values=', '.join('?' * len(kwargs)))
|
||||||
|
|
||||||
lastrowid = self.con.execute(sql, (jid, time_, kind) + tuple(kwargs.values())).lastrowid
|
lastrowid = self.con.execute(sql, (jid_id, time_, kind) + tuple(kwargs.values())).lastrowid
|
||||||
|
|
||||||
if unread and kind == KindConstant.CHAT_MSG_RECV:
|
if unread and kind == KindConstant.CHAT_MSG_RECV:
|
||||||
sql = '''INSERT INTO unread_messages (message_id, jid_id)
|
sql = '''INSERT INTO unread_messages (message_id, jid_id)
|
||||||
|
|
Loading…
Reference in New Issue