Source code for logic_plugin_manager.exceptions

"""Exception classes for Logic Plugin Manager.

This module defines all custom exceptions used throughout the library for
error handling related to plugin loading, tag management, and category operations.
"""


[docs] class PluginLoadError(Exception): """Base exception for errors occurring during plugin/component loading.""" pass
[docs] class NonexistentPlistError(PluginLoadError): """Raised when a required Info.plist file cannot be found.""" pass
[docs] class CannotParsePlistError(PluginLoadError): """Raised when a plist file exists but cannot be parsed or decoded.""" pass
[docs] class CannotParseComponentError(PluginLoadError): """Raised when component data is malformed or cannot be extracted.""" pass
[docs] class OldComponentFormatError(PluginLoadError): """Raised when a component uses a legacy format that is not supported.""" pass
[docs] class TagsetLoadError(Exception): """Base exception for errors occurring during tagset operations.""" pass
[docs] class NonexistentTagsetError(TagsetLoadError): """Raised when a .tagset file cannot be found at the expected path.""" pass
[docs] class CannotParseTagsetError(TagsetLoadError): """Raised when a tagset file exists but cannot be parsed.""" pass
[docs] class TagsetWriteError(TagsetLoadError): """Raised when writing to a tagset file fails.""" pass
[docs] class MusicAppsLoadError(Exception): """Raised when MusicApps database files cannot be loaded or parsed.""" pass
[docs] class MusicAppsWriteError(Exception): """Raised when writing to MusicApps database files fails.""" pass
[docs] class CategoryValidationError(Exception): """Raised when a category name is invalid or not found in the database.""" pass
[docs] class CategoryExistsError(Exception): """Raised when attempting to create a category that already exists.""" pass