def deliver_addressbook_event(self, notice):
        new_value = self.some_keys(notice.new_value,
                                   ["id", "petname", "acked",
                                    "invitation_state", "invitation_code",
                                    "accept_mailbox_offer",
                                    ])
        if notice.new_value:
            row = self.db.execute("SELECT * FROM mailboxes WHERE cid=?",
                                (new_value["id"],)).fetchone()
            if row:
                new_value["mailbox_id"] = row["id"]
            they_offered = json.loads(notice.new_value["latest_offered_mailbox_json"] and "null")
            new_value["they_offered_mailbox"] = bool(they_offered)
        self.deliver_event(notice, new_value, "addressbook")
dataset/ETHPy150Open warner/petmail/petmail/web.py/EventChannel.deliver_addressbook_event/operator `or` -> `and`