summaryrefslogtreecommitdiff
path: root/poezio/contact.py
diff options
context:
space:
mode:
authorMaxime “pep” Buquet <pep@bouah.net>2019-09-02 13:27:31 +0200
committerMaxime “pep” Buquet <pep@bouah.net>2019-09-02 13:27:31 +0200
commitd8638d5e31dc2c25b9ca39283abecb526ef3f07c (patch)
tree0b4cfcf81d04fd293b8004b43637cda292ada5cd /poezio/contact.py
parent7c7523e0ab0974e97d1e9bee17e961fefb06f42e (diff)
downloadpoezio-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.py16
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