Skip to content

Commit 8fef21a

Browse files
committed
Merge function with classify_unread_counts
1 parent a9876eb commit 8fef21a

File tree

2 files changed

+14
-27
lines changed

2 files changed

+14
-27
lines changed

zulipterminal/helper.py

Lines changed: 13 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
# Downloaded message data
3939
'messages': Dict[int, Message], # message_id: Message
4040
# unread message data; additional data in model.initial_data['unread_msgs']
41-
'unread_msgs': Set[int] # {message_ids, ...}
41+
'unread_msg_ids': Set[int] # {message_ids, ...}
4242
})
4343

4444
initial_index = Index(
@@ -53,7 +53,7 @@
5353
topics=defaultdict(list),
5454
search=set(),
5555
messages=defaultdict(dict),
56-
unread_msgs=set(),
56+
unread_msg_ids=set(),
5757
)
5858

5959

@@ -353,26 +353,10 @@ def index_messages(messages: List[Any],
353353
return index
354354

355355

356-
def index_unread_messsages(unread_msgs: Dict[str, Any], index: Index) -> Index:
357-
358-
for pm in unread_msgs['pms']:
359-
message_ids = pm['unread_message_ids']
360-
index['unread_msgs'].update(message_ids)
361-
362-
for stream in unread_msgs['streams']:
363-
message_ids = stream['unread_message_ids']
364-
index['unread_msgs'].update(message_ids)
365-
366-
for group_pm in unread_msgs['huddles']:
367-
message_ids = group_pm['unread_message_ids']
368-
index['unread_msgs'].update(message_ids)
369-
370-
return index
371-
372-
373356
def classify_unread_counts(model: Any) -> UnreadCounts:
374357
# TODO: support group pms
375358
unread_msg_counts = model.initial_data['unread_msgs']
359+
index = model.index
376360

377361
unread_counts = UnreadCounts(
378362
all_msg=0,
@@ -383,14 +367,19 @@ def classify_unread_counts(model: Any) -> UnreadCounts:
383367
streams=dict(),
384368
)
385369

370+
# add message_ids to index and count to UnreadCounts
386371
for pm in unread_msg_counts['pms']:
387-
count = len(pm['unread_message_ids'])
372+
message_ids = pm['unread_message_ids']
373+
index['unread_msg_ids'].update(message_ids)
374+
count = len(message_ids)
388375
unread_counts['unread_pms'][pm['sender_id']] = count
389376
unread_counts['all_msg'] += count
390377
unread_counts['all_pms'] += count
391378

392379
for stream in unread_msg_counts['streams']:
393-
count = len(stream['unread_message_ids'])
380+
message_ids = stream['unread_message_ids']
381+
index['unread_msg_ids'].update(message_ids)
382+
count = len(message_ids)
394383
stream_id = stream['stream_id']
395384
if [model.stream_dict[stream_id]['name'],
396385
stream['topic']] in model.muted_topics:
@@ -405,7 +394,9 @@ def classify_unread_counts(model: Any) -> UnreadCounts:
405394

406395
# store unread count of group pms in `unread_huddles`
407396
for group_pm in unread_msg_counts['huddles']:
408-
count = len(group_pm['unread_message_ids'])
397+
message_ids = group_pm['unread_message_ids']
398+
index['unread_msg_ids'].update(message_ids)
399+
count = len(message_ids)
409400
user_ids = group_pm['user_ids_string'].split(',')
410401
user_ids = frozenset(map(int, user_ids))
411402
unread_counts['unread_huddles'][user_ids] = count

zulipterminal/model.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
initial_index,
2323
Message,
2424
notify,
25-
index_unread_messsages,
2625
)
2726
from zulipterminal.ui_tools.utils import create_msg_box_list
2827

@@ -287,7 +286,7 @@ def toggle_message_star_status(self, message: Dict[str, Any]) -> None:
287286
def mark_message_ids_as_read(self, id_list: List[int]) -> None:
288287
if not id_list:
289288
return
290-
self.index['unread_msgs'].difference_update(id_list)
289+
self.index['unread_msg_ids'].difference_update(id_list)
291290
self.client.update_message_flags({
292291
'messages': id_list,
293292
'flag': 'read',
@@ -448,9 +447,6 @@ def _update_initial_data(self) -> None:
448447
self.user_email = self.initial_data['email']
449448
self.user_full_name = self.initial_data['full_name']
450449
self.server_name = self.initial_data['realm_name']
451-
unread_msgs = self.initial_data['unread_msgs']
452-
self.index = index_unread_messsages(unread_msgs,
453-
self.index)
454450
else:
455451
failures = [name for name, result in results.items() if not result]
456452
raise ServerConnectionFailure(", ".join(failures))

0 commit comments

Comments
 (0)