Skip to content

Module gnupg.handlers.delete_result_handler

View Source
from __future__ import annotations

from types import MappingProxyType

from typing import TYPE_CHECKING

from gnupg.helper import _get_logger

from .status_handler import StatusHandler

if TYPE_CHECKING:

    from gnupg.gnupg import GPG

logger = _get_logger(__name__)

class DeleteResultHandler(StatusHandler):

    """

    This class handles status messages during key deletion.

    """

    returncode = None

    def __init__(self, gpg: GPG) -> None:

        StatusHandler.__init__(self, gpg)

        self.status = "ok"

    def __str__(self) -> str:

        return self.status

    problem_reason = MappingProxyType(

        {

            "1": "No such key",

            "2": "Must delete secret key first",

            "3": "Ambiguous specification",

        },

    )

    def handle_status(self, key: str, value: str) -> None:

        if key == "DELETE_PROBLEM":  # pragma: no cover

            self.status = self.problem_reason.get(value, f"Unknown error: {value!r}")

        else:  # pragma: no cover

            logger.debug("message ignored: %s, %s", key, value)

    def __nonzero__(self) -> bool:  # pragma: no cover

        return self.status == "ok"

    __bool__ = __nonzero__

Variables

TYPE_CHECKING
logger

Classes

DeleteResultHandler

class DeleteResultHandler(
    gpg: 'GPG'
)

This class handles status messages during key deletion.

View Source
class DeleteResultHandler(StatusHandler):

    """

    This class handles status messages during key deletion.

    """

    returncode = None

    def __init__(self, gpg: GPG) -> None:

        StatusHandler.__init__(self, gpg)

        self.status = "ok"

    def __str__(self) -> str:

        return self.status

    problem_reason = MappingProxyType(

        {

            "1": "No such key",

            "2": "Must delete secret key first",

            "3": "Ambiguous specification",

        },

    )

    def handle_status(self, key: str, value: str) -> None:

        if key == "DELETE_PROBLEM":  # pragma: no cover

            self.status = self.problem_reason.get(value, f"Unknown error: {value!r}")

        else:  # pragma: no cover

            logger.debug("message ignored: %s, %s", key, value)

    def __nonzero__(self) -> bool:  # pragma: no cover

        return self.status == "ok"

    __bool__ = __nonzero__

Ancestors (in MRO)

  • gnupg.handlers.status_handler.StatusHandler

Descendants

  • gnupg.handlers.trust_result_handler.TrustResultHandler

Class variables

problem_reason
returncode

Methods

handle_status

def handle_status(
    self,
    key: 'str',
    value: 'str'
) -> 'None'

Handle status messages from the gpg child process. These are lines of the format

[GNUPG:]

Parameters:

Name Type Description Default
key str Identifies what the status message is. None
value str Identifies additional data, which differs depending on the key. None
View Source
    def handle_status(self, key: str, value: str) -> None:

        if key == "DELETE_PROBLEM":  # pragma: no cover

            self.status = self.problem_reason.get(value, f"Unknown error: {value!r}")

        else:  # pragma: no cover

            logger.debug("message ignored: %s, %s", key, value)