edit optimizations
This commit is contained in:
parent
a6b476da43
commit
f363a86f87
@ -97,11 +97,14 @@ class Message:
|
|||||||
Encoding.nonce(), pcontent, None,
|
Encoding.nonce(), pcontent, None,
|
||||||
Flags(self.flags.replace('<unedited>', '<edited>')).enq()).sealed()
|
Flags(self.flags.replace('<unedited>', '<edited>')).enq()).sealed()
|
||||||
|
|
||||||
|
def edit_(self):
|
||||||
|
return self.flags_(self.flags)
|
||||||
|
|
||||||
def edited(self, other: 'Message'):
|
def edited(self, other: 'Message'):
|
||||||
return self.pair == other.pair and self.idnonce == other.idnonce
|
return self.pair == other.pair and self.idnonce == other.idnonce
|
||||||
|
|
||||||
def editt(self, content: bytes) -> Tuple['Message', 'Message']:
|
def editt(self, content: bytes) -> Tuple['Message', 'Message']:
|
||||||
return self, self.edit(content)
|
return self.flags_(self.flags), self.edit(content)
|
||||||
|
|
||||||
def delete(self):
|
def delete(self):
|
||||||
return Message(self.sfrom, self.sto, self.idnonce, None,
|
return Message(self.sfrom, self.sto, self.idnonce, None,
|
||||||
|
@ -151,6 +151,12 @@ class DBStorage(AbstractStorage):
|
|||||||
Message(pair[0], pair[1], Encoding.decode(params['before']), None,
|
Message(pair[0], pair[1], Encoding.decode(params['before']), None,
|
||||||
None, None, None,
|
None, None, None,
|
||||||
'')).oid)
|
'')).oid)
|
||||||
|
if params.get('after'):
|
||||||
|
query = query.filter(Msg.oid > self.one_alike(
|
||||||
|
session,
|
||||||
|
Message(pair[0], pair[1], Encoding.decode(params['before']), None,
|
||||||
|
None, None, None,
|
||||||
|
'')).oid)
|
||||||
for flag in params.get('flags', ()):
|
for flag in params.get('flags', ()):
|
||||||
query = query.filter(Msg.flags.contains(flag))
|
query = query.filter(Msg.flags.contains(flag))
|
||||||
query = query.order_by(Msg.oid.desc())
|
query = query.order_by(Msg.oid.desc())
|
||||||
|
Loading…
Reference in New Issue
Block a user