54 lines
1.6 KiB
Python
54 lines
1.6 KiB
Python
|
|
"""
|
||
|
|
Legacy compatibility system exceptions.
|
||
|
|
|
||
|
|
Provides specialized exception classes for legacy system operations.
|
||
|
|
"""
|
||
|
|
|
||
|
|
class LegacyError(Exception):
|
||
|
|
"""Base exception for legacy compatibility system."""
|
||
|
|
pass
|
||
|
|
|
||
|
|
|
||
|
|
class LegacyVersionNotFoundError(LegacyError):
|
||
|
|
"""Raised when a requested legacy version is not available."""
|
||
|
|
|
||
|
|
def __init__(self, command: str, version: str, available_versions: list = None):
|
||
|
|
self.command = command
|
||
|
|
self.version = version
|
||
|
|
self.available_versions = available_versions or []
|
||
|
|
|
||
|
|
msg = f"Legacy version '{version}' not found for command '{command}'"
|
||
|
|
if self.available_versions:
|
||
|
|
msg += f". Available versions: {', '.join(self.available_versions)}"
|
||
|
|
|
||
|
|
super().__init__(msg)
|
||
|
|
|
||
|
|
|
||
|
|
class DeprecationError(LegacyError):
|
||
|
|
"""Raised when deprecated functionality is accessed inappropriately."""
|
||
|
|
|
||
|
|
def __init__(self, feature: str, deprecated_in: str, removal_date: str = None):
|
||
|
|
self.feature = feature
|
||
|
|
self.deprecated_in = deprecated_in
|
||
|
|
self.removal_date = removal_date
|
||
|
|
|
||
|
|
msg = f"Feature '{feature}' was deprecated in version {deprecated_in}"
|
||
|
|
if removal_date:
|
||
|
|
msg += f" and will be removed in {removal_date}"
|
||
|
|
|
||
|
|
super().__init__(msg)
|
||
|
|
|
||
|
|
|
||
|
|
class LegacyConfigurationError(LegacyError):
|
||
|
|
"""Raised when legacy system configuration is invalid."""
|
||
|
|
pass
|
||
|
|
|
||
|
|
|
||
|
|
class GitStateError(LegacyError):
|
||
|
|
"""Raised when git state operations fail."""
|
||
|
|
pass
|
||
|
|
|
||
|
|
|
||
|
|
class CompatibilityError(LegacyError):
|
||
|
|
"""Raised when compatibility layer operations fail."""
|
||
|
|
pass
|