(self)
return release_is_eol
:data:`True` if the release is EOL (end of life), :data:`False` otherwise.

        There are three ways in which the value of this property can be computed:

        - When available, the first of the following EOL dates will be compared
          against the current date to determine whether the release is EOL:

          - If the :attr:`backend` module contains a ``get_eol_date()``
            function (only the :mod:`~apt_smart.backends.debian`
            module does at the time of writing) then it is called and if it
            returns a number, this number is the EOL date for the release.

            This function was added to enable apt-smart backend
            modules to override the default EOL dates, more specifically to
            respect the `Debian LTS`_ release schedule (see also `issue #5`_).

          - Otherwise the :attr:`~apt_smart.releases.Release.eol_date`
            of :attr:`release` is used.

        - As a fall back :func:`validate_mirror()` is used to check whether
          :attr:`security_url` results in :data:`MirrorStatus.MAYBE_EOL`.

        .. _Debian LTS: https://wiki.debian.org/LTS
        .. _issue #5: https://github.com/xolox/python-apt-mirror-updater/issues/5
:data:`True` if the release is EOL (end of life), :data:`False` otherwise.
: data : True if the release is EOL ( end of life ) : data : False otherwise .
def release_is_eol(self):
        """
        :data:`True` if the release is EOL (end of life), :data:`False` otherwise.

        There are three ways in which the value of this property can be computed:

        - When available, the first of the following EOL dates will be compared
          against the current date to determine whether the release is EOL:

          - If the :attr:`backend` module contains a ``get_eol_date()``
            function (only the :mod:`~apt_smart.backends.debian`
            module does at the time of writing) then it is called and if it
            returns a number, this number is the EOL date for the release.

            This function was added to enable apt-smart backend
            modules to override the default EOL dates, more specifically to
            respect the `Debian LTS`_ release schedule (see also `issue #5`_).

          - Otherwise the :attr:`~apt_smart.releases.Release.eol_date`
            of :attr:`release` is used.

        - As a fall back :func:`validate_mirror()` is used to check whether
          :attr:`security_url` results in :data:`MirrorStatus.MAYBE_EOL`.

        .. _Debian LTS: https://wiki.debian.org/LTS
        .. _issue #5: https://github.com/xolox/python-apt-mirror-updater/issues/5
        """
        release_is_eol = None
        logger.debug("Checking whether %s is EOL ..", self.release)
        # Check if the backend provides custom EOL dates.
        if hasattr(self.backend, 'get_eol_date'):
            eol_date = self.backend.get_eol_date(self)
            if eol_date:
                release_is_eol = (time.time() >= eol_date)
                source = "custom EOL dates"
        # Check if the bundled data contains an applicable EOL date.
        if release_is_eol is None and self.release.eol_date:
            release_is_eol = self.release.is_eol
            source = "known EOL dates"
        # Validate the security mirror as a fall back.
        if release_is_eol is None:
            release_is_eol = (self.validate_mirror(self.security_url) == MirrorStatus.MAYBE_EOL)
            source = "security mirror"
        if release_is_eol and self.distributor_id == 'linuxmint':
            logger.info(
                "%s seems EOL (based on %s), but for Linux Mint no OLD_RELEASES_URL, so act as not EOL.",
                self.release, source,
            )
            release_is_eol = False
            return release_is_eol
        if release_is_eol:  # Still need to check due to
            # https://github.com/xolox/python-apt-mirror-updater/issues/9
            logger.info("%s seems EOL, checking %s MirrorStatus to confirm.", self.release, self.old_releases_url)
            release_is_eol = (self.validate_mirror(self.old_releases_url) == MirrorStatus.AVAILABLE)
            if not release_is_eol:
                source = "%s is not available" % self.old_releases_url
        logger.info(
            "%s is %s (based on %s).", self.release,
            "EOL" if release_is_eol else "supported", source,
        )
        return release_is_eol
def release_is_eol ( self ) : release_is_eol = None logger . debug ( "Checking whether %s is EOL .." , self . release ) # Check if the backend provides custom EOL dates. if hasattr ( self . backend , 'get_eol_date' ) : eol_date = self . backend . get_eol_date ( self ) if eol_date : release_is_eol = ( time . time ( ) >= eol_date ) source = "custom EOL dates" # Check if the bundled data contains an applicable EOL date. if release_is_eol is None and self . release . eol_date : release_is_eol = self . release . is_eol source = "known EOL dates" # Validate the security mirror as a fall back. if release_is_eol is None : release_is_eol = ( self . validate_mirror ( self . security_url ) == MirrorStatus . MAYBE_EOL ) source = "security mirror" if release_is_eol and self . distributor_id == 'linuxmint' : logger . info ( "%s seems EOL (based on %s), but for Linux Mint no OLD_RELEASES_URL, so act as not EOL." , self . release , source , ) release_is_eol = False return release_is_eol if release_is_eol : # Still need to check due to # https://github.com/xolox/python-apt-mirror-updater/issues/9 logger . info ( "%s seems EOL, checking %s MirrorStatus to confirm." , self . release , self . old_releases_url ) release_is_eol = ( self . validate_mirror ( self . old_releases_url ) == MirrorStatus . AVAILABLE ) if not release_is_eol : source = "%s is not available" % self . old_releases_url logger . info ( "%s is %s (based on %s)." , self . release , "EOL" if release_is_eol else "supported" , source , ) return release_is_eol