code: def _handle_status(self, key, value):
          
          if key in (
                  'NO_SECKEY',
                  'BEGIN_DECRYPTION',
                  'DECRYPTION_FAILED',
                  'END_DECRYPTION',
                  'GOOD_PASSPHRASE',
                  'BAD_PASSPHRASE',
                  'KEY_CONSIDERED'
              ):
              pass
          elif key == 'NODATA':
              self.status = nodata(value)
          elif key == 'ENC_TO':
              key, _, _ = value.split()
              if not self.key:
                  self.key = key
              self.encrypted_to.append(key)
          elif key in ('NEED_PASSPHRASE', 'MISSING_PASSPHRASE'):
              self.need_passphrase = True
          elif key == 'NEED_PASSPHRASE_SYM':
              self.need_passphrase_sym = True
          elif key == 'USERID_HINT':
              self.userid_hint = value.strip().split()
          else:
              raise ValueError("Unknown status message: %r" % key)
docs: Parse a status code from the attached GnuPG process.
  
          :raises: :exc:`~exceptions.ValueError` if the status message is unknown.