diff --git a/python/src/deltachat/account.py b/python/src/deltachat/account.py index a729ac09d..f6622376f 100644 --- a/python/src/deltachat/account.py +++ b/python/src/deltachat/account.py @@ -215,15 +215,14 @@ class Account(object): :returns: :class:`deltachat.contact.Contact` instance. """ (name, addr) = self.get_contact_addr_and_name(obj, name) - return self._create_contact(addr, name) - - def _create_contact(self, addr, name): - addr = as_dc_charpointer(addr) name = as_dc_charpointer(name) + addr = as_dc_charpointer(addr) contact_id = lib.dc_create_contact(self._dc_context, name, addr) return Contact(self, contact_id) def get_contact(self, obj): + if isinstance(obj, Contact): + return obj (_, addr) = self.get_contact_addr_and_name(obj) return self.get_contact_by_addr(addr) diff --git a/python/tests/test_account.py b/python/tests/test_account.py index 910c93256..5605099f0 100644 --- a/python/tests/test_account.py +++ b/python/tests/test_account.py @@ -306,6 +306,10 @@ class TestOfflineChat: group.remove_contact(contact) assert contact.is_blocked() + lp.sec("ac1 adding blocked contact unblocks it") + group.add_contact(contact) + assert not contact.is_blocked() + def test_get_set_profile_image_simple(self, ac1, data): chat = ac1.create_group_chat(name="title1") p = data.get_path("d.png")