Skip to content

Commit db2e5b9

Browse files
author
xwqin
committed
feat: Support force-refreshing room
1 parent 0a2a060 commit db2e5b9

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/wechaty/user/room.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ def filter_func(room: Room) -> bool:
194194

195195
@classmethod
196196
async def find_all(cls,
197-
query: Optional[Union[str, RoomQueryFilter, Callable[[Contact], bool]]] = None) -> List[Room]:
197+
query: Optional[Union[str, RoomQueryFilter, Callable[[Contact], bool]]] = None,force_sync:bool=False) -> List[Room]:
198198
"""
199199
find all rooms based on query, which can be string, RoomQueryFilter, or callable<filter> function
200200
@@ -228,9 +228,9 @@ async def find_all(cls,
228228
# 1. load rooms with concurrent tasks
229229
room_ids = await cls.get_puppet().room_search()
230230
rooms: List[Room] = [cls.load(room_id) for room_id in room_ids]
231-
tasks: List[Task] = [asyncio.create_task(room.ready()) for room in rooms]
231+
tasks: List[Task] = [asyncio.create_task(room.ready(force_sync)) for room in rooms]
232232
await gather_with_concurrency(PARALLEL_TASK_NUM, tasks)
233-
233+
234234
# 2. filter the rooms
235235
if not query:
236236
return rooms
@@ -315,7 +315,7 @@ async def ready(self, force_sync: bool = False, load_members: bool = False) -> N
315315
Returns:
316316
None
317317
"""
318-
if self.is_ready():
318+
if not force_sync and self.is_ready():
319319
return
320320

321321
if force_sync:

0 commit comments

Comments
 (0)