mirror of
https://github.com/Mayuri-Chan/pyrofork.git
synced 2026-01-06 23:24:50 +00:00
Pyrofork: Clean usernames database before updating usernames database
Signed-off-by: wulan17 <wulan17@nusantararom.org>
This commit is contained in:
parent
3682733d8d
commit
7fca0e87bb
1 changed files with 9 additions and 1 deletions
|
|
@ -4,7 +4,7 @@ import time
|
||||||
from typing import List, Tuple, Any
|
from typing import List, Tuple, Any
|
||||||
|
|
||||||
from .dummy_client import DummyMongoClient
|
from .dummy_client import DummyMongoClient
|
||||||
from pymongo import MongoClient, UpdateOne
|
from pymongo import MongoClient, UpdateOne, DeleteMany
|
||||||
from pyrogram.storage.storage import Storage
|
from pyrogram.storage.storage import Storage
|
||||||
from pyrogram.storage.sqlite_storage import get_input_peer
|
from pyrogram.storage.sqlite_storage import get_input_peer
|
||||||
|
|
||||||
|
|
@ -124,6 +124,11 @@ class MongoStorage(Storage):
|
||||||
|
|
||||||
async def update_usernames(self, usernames: List[Tuple[int, str]]):
|
async def update_usernames(self, usernames: List[Tuple[int, str]]):
|
||||||
s = int(time.time())
|
s = int(time.time())
|
||||||
|
bulk_delete = [
|
||||||
|
DeleteMany(
|
||||||
|
{'peer_id': i[0]}
|
||||||
|
) for i in usernames
|
||||||
|
]
|
||||||
bulk = [
|
bulk = [
|
||||||
UpdateOne(
|
UpdateOne(
|
||||||
{'_id': i[1]},
|
{'_id': i[1]},
|
||||||
|
|
@ -136,6 +141,9 @@ class MongoStorage(Storage):
|
||||||
]
|
]
|
||||||
if not bulk:
|
if not bulk:
|
||||||
return
|
return
|
||||||
|
await self._usernames.bulk_write(
|
||||||
|
bulk_delete
|
||||||
|
)
|
||||||
await self._usernames.bulk_write(
|
await self._usernames.bulk_write(
|
||||||
bulk
|
bulk
|
||||||
)
|
)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue