From 0a4781134e620079c6788d47616fc4bfa99e0321 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maxime=20=E2=80=9Cpep=E2=80=9D=20Buquet?= Date: Sat, 27 Apr 2019 19:39:18 +0100 Subject: ChatTab: now accepts only Jids with a domain MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Maxime “pep” Buquet --- poezio/tabs/basetabs.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'poezio/tabs') diff --git a/poezio/tabs/basetabs.py b/poezio/tabs/basetabs.py index a1c3f8d4..376f411a 100644 --- a/poezio/tabs/basetabs.py +++ b/poezio/tabs/basetabs.py @@ -464,9 +464,13 @@ class ChatTab(Tab): def __init__(self, core, jid: Union[JID, str]): Tab.__init__(self, core) - self._jid = None - self._name = '' - self.name = jid + + if not isinstance(jid, JID): + jid = JID(jid) + assert jid.domain + self._jid = jid + + self._name = jid.full self.text_win = None self.directed_presence = None self._text_buffer = TextBuffer() @@ -533,18 +537,14 @@ class ChatTab(Tab): raise TypeError("Name must be of type JID or str.") @property - def jid(self) -> Optional[JID]: + def jid(self) -> JID: return self._jid @jid.setter - def jid(self, value: Optional[JID]) -> None: - if value is None: - self._jid = None - return None + def jid(self, value: JID) -> None: if not isinstance(value, JID): - raise TypeError("Jid must be of type Optional[JID].") - if not value.domain: - raise ValueError("Jid must contain at least a domain.") + raise TypeError("Jid %r must be of type JID." % value) + assert value.domain self._jid = value @property -- cgit v1.2.3