/usr/lib/python3/dist-packages/axolotl/tests/inmemorysessionstore.py is in python3-axolotl 0.1.39-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | # -*- coding: utf-8 -*-
from ..state.sessionstore import SessionStore
from ..state.sessionrecord import SessionRecord
class InMemorySessionStore(SessionStore):
def __init__(self):
self.sessions = {}
def loadSession(self, recepientId, deviceId):
if self.containsSession(recepientId, deviceId):
return SessionRecord(serialized=self.sessions[(recepientId, deviceId)])
else:
return SessionRecord()
def getSubDeviceSessions(self, recepientId):
deviceIds = []
for k in self.sessions.keys():
if k[0] == recepientId:
deviceIds.append(k[1])
return deviceIds
def storeSession(self, recepientId, deviceId, sessionRecord):
self.sessions[(recepientId, deviceId)] = sessionRecord.serialize()
def containsSession(self, recepientId, deviceId):
return (recepientId, deviceId) in self.sessions
def deleteSession(self, recepientId, deviceId):
del self.sessions[(recepientId, deviceId)]
def deleteAllSessions(self, recepientId):
for k in self.sessions.keys():
if k[0] == recepientId:
del self.sessions[k]
|