(self, gpg)
Create a parser for verification and certification commands.

        :param gpg: An instance of :class:`gnupg.GPG`.
Create a parser for verification and certification commands.
Create a parser for verification and certification commands .
def __init__(self, gpg):
        """Create a parser for verification and certification commands.

        :param gpg: An instance of :class:`gnupg.GPG`.
        """
        self._gpg = gpg
        #: True if the signature is valid, False otherwise.
        self.valid = False
        #: A string describing the status of the signature verification.
        #: Can be one of ``signature bad``, ``signature good``,
        #: ``signature valid``, ``signature error``, ``decryption failed``,
        #: ``no public key``, ``key exp``, or ``key rev``.
        self.status = None
        #: The fingerprint of the signing keyid.
        self.fingerprint = None
        #: The fingerprint of the corresponding public key, which may be
        #: different if the signature was created with a subkey.
        self.pubkey_fingerprint = None
        #: The keyid of the signing key.
        self.key_id = None
        #: The id of the signature itself.
        self.signature_id = None
        #: The creation date of the signing key.
        self.creation_date = None
        #: The timestamp of the purported signature, if we are unable to parse
        #: and/or validate it.
        self.timestamp = None
        #: The timestamp for when the valid signature was created.
        self.sig_timestamp = None
        #: The userid of the signing key which was used to create the
        #: signature.
        self.username = None
        #: When the signing key is due to expire.
        self.expire_timestamp = None
        #: An integer 0-4 describing the trust level of the signature.
        self.trust_level = None
        #: The string corresponding to the ``trust_level`` number.
        self.trust_text = None
        #: The subpackets. These are stored as a dictionary, in the following
        #: form:
        #:     Verify.subpackets = {'SUBPACKET_NUMBER': {'flags': FLAGS,
        #:                                               'length': LENGTH,
        #:                                               'data': DATA},
        #:                          'ANOTHER_SUBPACKET_NUMBER': {...}}
        self.subpackets = {}
        #: The signature or key notations. These are also stored as a
        #: dictionary, in the following form:
        #:
        #:     Verify.notations = {NOTATION_NAME: NOTATION_DATA}
        #:
        #: For example, the Bitcoin core developer, Peter Todd, encodes in
        #: every signature the header of the latest block on the Bitcoin
        #: blockchain (to prove that a GnuPG signature that Peter made was made
        #: *after* a specific point in time). These look like:
        #:
        #: gpg: Signature notation: blockhash@bitcoin.org=000000000000000006f793d4461ee3e756ff04cc62581c96a42ed67dc233da3a
        #:
        #: Which python-gnupg would store as:
        #:
        #:     Verify.notations['blockhash@bitcoin.org'] = '000000000000000006f793d4461ee3e756ff04cc62581c96a42ed67dc233da3a'
        self.notations = {}

        #: This will be a str or None. If not None, it is the last
        #: ``NOTATION_NAME`` we stored in the ``notations`` dict. Because we're
        #: not assured that a ``NOTATION_DATA`` status will arrive *immediately*
        #: after its corresponding ``NOTATION_NAME``, we store the latest
        #: ``NOTATION_NAME`` here until we get its corresponding
        #: ``NOTATION_DATA``.
        self._last_notation_name = None
def __init__ ( self , gpg ) : self . _gpg = gpg #: True if the signature is valid, False otherwise. self . valid = False #: A string describing the status of the signature verification. #: Can be one of ``signature bad``, ``signature good``, #: ``signature valid``, ``signature error``, ``decryption failed``, #: ``no public key``, ``key exp``, or ``key rev``. self . status = None #: The fingerprint of the signing keyid. self . fingerprint = None #: The fingerprint of the corresponding public key, which may be #: different if the signature was created with a subkey. self . pubkey_fingerprint = None #: The keyid of the signing key. self . key_id = None #: The id of the signature itself. self . signature_id = None #: The creation date of the signing key. self . creation_date = None #: The timestamp of the purported signature, if we are unable to parse #: and/or validate it. self . timestamp = None #: The timestamp for when the valid signature was created. self . sig_timestamp = None #: The userid of the signing key which was used to create the #: signature. self . username = None #: When the signing key is due to expire. self . expire_timestamp = None #: An integer 0-4 describing the trust level of the signature. self . trust_level = None #: The string corresponding to the ``trust_level`` number. self . trust_text = None #: The subpackets. These are stored as a dictionary, in the following #: form: #:     Verify.subpackets = {'SUBPACKET_NUMBER': {'flags': FLAGS, #:                                               'length': LENGTH, #:                                               'data': DATA}, #:                          'ANOTHER_SUBPACKET_NUMBER': {...}} self . subpackets = { } #: The signature or key notations. These are also stored as a #: dictionary, in the following form: #: #:     Verify.notations = {NOTATION_NAME: NOTATION_DATA} #: #: For example, the Bitcoin core developer, Peter Todd, encodes in #: every signature the header of the latest block on the Bitcoin #: blockchain (to prove that a GnuPG signature that Peter made was made #: *after* a specific point in time). These look like: #: #: gpg: Signature notation: blockhash@bitcoin.org=000000000000000006f793d4461ee3e756ff04cc62581c96a42ed67dc233da3a #: #: Which python-gnupg would store as: #: #:     Verify.notations['blockhash@bitcoin.org'] = '000000000000000006f793d4461ee3e756ff04cc62581c96a42ed67dc233da3a' self . notations = { } #: This will be a str or None. If not None, it is the last #: ``NOTATION_NAME`` we stored in the ``notations`` dict. Because we're #: not assured that a ``NOTATION_DATA`` status will arrive *immediately* #: after its corresponding ``NOTATION_NAME``, we store the latest #: ``NOTATION_NAME`` here until we get its corresponding #: ``NOTATION_DATA``. self . _last_notation_name = None