opt
/
imunify360
/
venv
/
lib
/
python3.11
/
site-packages
/
pip
/
_vendor
/
resolvelib
/
resolvers
➕ New
📤 Upload
✎ Editing:
exceptions.py
← Back
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
💾 Save Changes
Cancel
📤 Upload File
×
Select File
Upload
Cancel
➕ Create New
×
Type
📄 File
📁 Folder
Name
Create
Cancel
✎ Rename Item
×
Current Name
New Name
Rename
Cancel
🔐 Change Permissions
×
Target File
Permission (e.g., 0755, 0644)
0755
0644
0777
Apply
Cancel