ceoavinash/eef / __init__ (193).py
ceoavinash's picture
download
raw
1.77 kB
from __future__ import annotations
from typing import TYPE_CHECKING, Collection, Generic
from ..structs import CT, RT, RequirementInformation
if TYPE_CHECKING:
from .criterion import Criterion
class ResolverException(Exception):
"""A base class for all exceptions raised by this module.
Exceptions derived by this class should all be handled in this module. Any
bubbling pass the resolver should be treated as a bug.
"""
class RequirementsConflicted(ResolverException, Generic[RT, CT]):
def __init__(self, criterion: Criterion[RT, CT]) -> None:
super().__init__(criterion)
self.criterion = criterion
def __str__(self) -> str:
return "Requirements conflict: {}".format(
", ".join(repr(r) for r in self.criterion.iter_requirement()),
)
class InconsistentCandidate(ResolverException, Generic[RT, CT]):
def __init__(self, candidate: CT, criterion: Criterion[RT, CT]):
super().__init__(candidate, criterion)
self.candidate = candidate
self.criterion = criterion
def __str__(self) -> str:
return "Provided candidate {!r} does not satisfy {}".format(
self.candidate,
", ".join(repr(r) for r in self.criterion.iter_requirement()),
)
class ResolutionError(ResolverException):
pass
class ResolutionImpossible(ResolutionError, Generic[RT, CT]):
def __init__(self, causes: Collection[RequirementInformation[RT, CT]]):
super().__init__(causes)
# causes is a list of RequirementInformation objects
self.causes = causes
class ResolutionTooDeep(ResolutionError):
def __init__(self, round_count: int) -> None:
super().__init__(round_count)
self.round_count = round_count

Xet Storage Details

Size:
1.77 kB
·
Xet hash:
a9e0dd8daa04cf3595c31248a9ea03b59e9fc6b766b3df0c9bb8c215273aafa3

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.