code: def disable_avatar(self):
          
  
          with (yield from self._publish_lock):
              todo = []
              if self._synchronize_vcard:
                  todo.append(self._disable_vcard_avatar())
  
              if (yield from self._pep.available()):
                  todo.append(self._pep.publish(
                      namespaces.xep0084_metadata,
                      avatar_xso.Metadata()
                  ))
  
              yield from gather_reraise_multi(*todo, message="disable_avatar")
docs: Temporarily disable the avatar.
  
          If :attr:`synchronize_vcard` is true, the vCard avatar is
          disabled (even if disabling the PEP avatar fails).
  
          This is done by setting the avatar metadata node empty and if
          :attr:`synchronize_vcard` is true, downloading the vCard,
          removing the avatar data and re-uploading the vCard.
  
          This method does not error if neither protocol is active.
  
          :raises aioxmpp.errors.GatherError: if an exception is raised
              by the spawned tasks.