tidy(config): removed extraneous ABC

We don't need separate implementations for this class, let's not complicate it with an ABC
This commit is contained in:
psychedelicious 2024-04-23 17:11:13 +10:00
parent b612c73954
commit e39f035264

View File

@ -4,7 +4,6 @@
Utility class for migrating among versions of the InvokeAI app config schema. Utility class for migrating among versions of the InvokeAI app config schema.
""" """
from abc import ABC, abstractmethod
from typing import Any, Callable, List, TypeVar from typing import Any, Callable, List, TypeVar
from packaging.version import Version from packaging.version import Version
@ -13,29 +12,6 @@ from pydantic import BaseModel, ConfigDict, field_validator
AppConfigDict = TypeVar("AppConfigDict", bound=dict[str, Any]) AppConfigDict = TypeVar("AppConfigDict", bound=dict[str, Any])
class ConfigMigratorBase(ABC):
"""This class allows migrators to register their input and output versions."""
@classmethod
@abstractmethod
def register(
cls, from_version: Version, to_version: Version
) -> Callable[[Callable[[AppConfigDict], AppConfigDict]], Callable[[AppConfigDict], AppConfigDict]]:
"""Define a decorator which registers the migration between two versions."""
@classmethod
@abstractmethod
def migrate(cls, config: AppConfigDict) -> AppConfigDict:
"""
Use the registered migration steps to bring config up to latest version.
:param config: The original configuration.
:return: The new configuration, lifted up to the latest version.
As a side effect, the new configuration will be written to disk.
"""
class MigrationEntry(BaseModel): class MigrationEntry(BaseModel):
"""Defines an individual migration.""" """Defines an individual migration."""
@ -54,7 +30,7 @@ class MigrationEntry(BaseModel):
return v return v
class ConfigMigrator(ConfigMigratorBase): class ConfigMigrator:
"""This class allows migrators to register their input and output versions.""" """This class allows migrators to register their input and output versions."""
_migrations: List[MigrationEntry] = [] _migrations: List[MigrationEntry] = []