diff options
author | Maxime “pep” Buquet <pep@bouah.net> | 2019-09-02 13:27:31 +0200 |
---|---|---|
committer | Maxime “pep” Buquet <pep@bouah.net> | 2019-09-02 13:27:31 +0200 |
commit | d8638d5e31dc2c25b9ca39283abecb526ef3f07c (patch) | |
tree | 0b4cfcf81d04fd293b8004b43637cda292ada5cd /poezio/contact.py | |
parent | 7c7523e0ab0974e97d1e9bee17e961fefb06f42e (diff) | |
download | poezio-d8638d5e31dc2c25b9ca39283abecb526ef3f07c.tar.gz poezio-d8638d5e31dc2c25b9ca39283abecb526ef3f07c.tar.bz2 poezio-d8638d5e31dc2c25b9ca39283abecb526ef3f07c.tar.xz poezio-d8638d5e31dc2c25b9ca39283abecb526ef3f07c.zip |
Eradicate more safeJID calls
Signed-off-by: Maxime “pep” Buquet <pep@bouah.net>
Diffstat (limited to 'poezio/contact.py')
-rw-r--r-- | poezio/contact.py | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/poezio/contact.py b/poezio/contact.py index 27b0598c..50ccab1f 100644 --- a/poezio/contact.py +++ b/poezio/contact.py @@ -13,8 +13,7 @@ from collections import defaultdict import logging from typing import Dict, Iterator, List, Optional, Union -from poezio.common import safeJID -from slixmpp import JID +from slixmpp import InvalidJID, JID log = logging.getLogger(__name__) @@ -134,8 +133,12 @@ class Contact: return self.__item['subscription'] def __contains__(self, value): - return value in self.__item.resources or safeJID( - value).resource in self.__item.resources + try: + resource = JID(value).resource + except InvalidJID: + resource = None + return value in self.__item.resources or \ + (resource is not None and resource in self.__item.resources) def __len__(self) -> int: """Number of resources""" @@ -147,7 +150,10 @@ class Contact: def __getitem__(self, key) -> Optional[Resource]: """Return the corresponding Resource object, or None""" - res = safeJID(key).resource + try: + res = JID(key).resource + except InvalidJID: + return None resources = self.__item.resources item = resources.get(res, None) or resources.get(key, None) return Resource(key, item) if item else None |