Philipp Hörist pushed to branch master at gajim / gajim


Commits:
4b9450ed by lovetox at 2022-03-13T08:51:44+01:00
Contacts: Refactor roster attribute properties

- - - - -
b3c0e57b by lovetox at 2022-03-13T08:52:04+01:00
Receipts: Simplify answer check

- - - - -


2 changed files:

- gajim/common/modules/contacts.py
- gajim/common/modules/receipts.py


Changes:

=====================================
gajim/common/modules/contacts.py
=====================================
@@ -308,10 +308,10 @@ def force_chatstate_update(self) -> None:
 
     @property
     def name(self) -> str:
-        roster_name = self._get_roster_attr('name')
-        if roster_name:
-            assert isinstance(roster_name, str)
-            return roster_name
+        item = self._module('Roster').get_item(self._jid)
+        if item is not None and item.name:
+            return item.name
+
         nickname = app.storage.cache.get_contact(self._jid, 'nickname')
         if nickname:
             return nickname
@@ -390,12 +390,6 @@ def update_avatar(self, sha: str) -> None:
         app.app.avatar_storage.invalidate_cache(self._jid)
         self.notify('avatar-update')
 
-    def _get_roster_attr(self, attr: str) -> Union[list[str], str, None]:
-        item = self._module('Roster').get_item(self._jid)
-        if item is None:
-            return None
-        return getattr(item, attr)
-
     @property
     def is_in_roster(self) -> bool:
         item = self._module('Roster').get_item(self._jid)
@@ -409,25 +403,25 @@ def is_gateway(self) -> bool:
         return disco_info.is_gateway
 
     @property
-    def ask(self) -> str:
-        ask = self._get_roster_attr('ask')
-        assert isinstance(ask, str)
-        return ask
+    def ask(self) -> Optional[str]:
+        item = self._module('Roster').get_item(self._jid)
+        if item is None:
+            return None
+        return item.ask
 
     @property
-    def subscription(self) -> str:
-        subscription = self._get_roster_attr('subscription')
-        assert isinstance(subscription, str)
-        return subscription
+    def subscription(self) -> Optional[str]:
+        item = self._module('Roster').get_item(self._jid)
+        if item is None:
+            return None
+        return item.subscription
 
     @property
     def groups(self) -> set[str]:
-        groups = self._get_roster_attr('groups')
-        if groups is None:
+        item = self._module('Roster').get_item(self._jid)
+        if item is None:
             return set()
-
-        assert isinstance(groups, set)
-        return groups
+        return item.groups
 
     @property
     def is_subscribed(self) -> bool:


=====================================
gajim/common/modules/receipts.py
=====================================
@@ -99,6 +99,4 @@ def _should_answer(self, properties):
             return True
 
         contact = self._get_contact(properties.jid.bare)
-        if contact.subscription not in ('to', 'none'):
-            return True
-        return False
+        return contact.is_subscribed



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/compare/11ecfd5305c6ca5c8f2d438d937595266eb6a57d...b3c0e57b0435322ff33bf00d96ff447a93a2cc80

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/compare/11ecfd5305c6ca5c8f2d438d937595266eb6a57d...b3c0e57b0435322ff33bf00d96ff447a93a2cc80
You're receiving this email because of your account on dev.gajim.org.


_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to