Addon: cleanup, prefix TYPE_CHECKING imports with underscores
Prefix anything that's imported in an `if TYPE_CHECKING` block with underscores, to indicate they're not the real types.
This commit is contained in:
parent
b993f38889
commit
f6e636f8de
@ -23,9 +23,9 @@ The result is that sometimes there are some strange hoops to jump through. The m
|
|||||||
|
|
||||||
```
|
```
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from .bat_interface import PackThread
|
from .bat_interface import _PackThread
|
||||||
else:
|
else:
|
||||||
PackThread = object
|
_PackThread = object
|
||||||
```
|
```
|
||||||
|
|
||||||
This makes it possible to declare a function with `def func() -> PackThread`, without having to load `bat_interface` immediately at import time.
|
This makes it possible to declare a function with `def func() -> _PackThread`, without having to load `bat_interface` immediately at import time.
|
||||||
|
@ -13,18 +13,18 @@ _log = logging.getLogger(__name__)
|
|||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from flamenco.manager.models import (
|
from flamenco.manager.models import (
|
||||||
AvailableJobType,
|
AvailableJobType as _AvailableJobType,
|
||||||
AvailableJobTypes,
|
AvailableJobTypes as _AvailableJobTypes,
|
||||||
SubmittedJob,
|
SubmittedJob as _SubmittedJob,
|
||||||
JobSettings,
|
JobSettings as _JobSettings,
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
AvailableJobTypes = object
|
_AvailableJobTypes = object
|
||||||
AvailableJobType = object
|
_AvailableJobType = object
|
||||||
SubmittedJob = object
|
_SubmittedJob = object
|
||||||
JobSettings = object
|
_JobSettings = object
|
||||||
|
|
||||||
_available_job_types: Optional[list[AvailableJobType]] = None
|
_available_job_types: Optional[list[_AvailableJobType]] = None
|
||||||
|
|
||||||
# Items for a bpy.props.EnumProperty()
|
# Items for a bpy.props.EnumProperty()
|
||||||
_job_type_enum_items: list[
|
_job_type_enum_items: list[
|
||||||
@ -54,7 +54,7 @@ def fetch_available_job_types(api_client, scene: bpy.types.Scene):
|
|||||||
_store_available_job_types(response)
|
_store_available_job_types(response)
|
||||||
|
|
||||||
|
|
||||||
def _store_available_job_types(available_job_types: AvailableJobTypes) -> None:
|
def _store_available_job_types(available_job_types: _AvailableJobTypes) -> None:
|
||||||
global _available_job_types
|
global _available_job_types
|
||||||
global _job_type_enum_items
|
global _job_type_enum_items
|
||||||
|
|
||||||
@ -129,7 +129,9 @@ def update_job_type_properties(scene: bpy.types.Scene) -> None:
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def get_job_settings(scene: bpy.types.Scene) -> Optional[JobSettings]:
|
def get_job_settings(scene: bpy.types.Scene) -> Optional[_JobSettings]:
|
||||||
|
from flamenco.manager.models import JobSettings
|
||||||
|
|
||||||
job_settings = getattr(scene, "flamenco_job_settings", None)
|
job_settings = getattr(scene, "flamenco_job_settings", None)
|
||||||
if job_settings is None:
|
if job_settings is None:
|
||||||
return None
|
return None
|
||||||
@ -139,7 +141,7 @@ def get_job_settings(scene: bpy.types.Scene) -> Optional[JobSettings]:
|
|||||||
return job_settings
|
return job_settings
|
||||||
|
|
||||||
|
|
||||||
def job_for_scene(scene: bpy.types.Scene) -> Optional[SubmittedJob]:
|
def job_for_scene(scene: bpy.types.Scene) -> Optional[_SubmittedJob]:
|
||||||
from flamenco.manager.models import SubmittedJob, JobSettings, JobMetadata
|
from flamenco.manager.models import SubmittedJob, JobSettings, JobMetadata
|
||||||
|
|
||||||
settings_propgroup = get_job_settings(scene)
|
settings_propgroup = get_job_settings(scene)
|
||||||
@ -189,7 +191,7 @@ def _clear_job_type_propgroup():
|
|||||||
_selected_job_type_propgroup = None
|
_selected_job_type_propgroup = None
|
||||||
|
|
||||||
|
|
||||||
def active_job_type(scene: bpy.types.Scene) -> Optional[AvailableJobType]:
|
def active_job_type(scene: bpy.types.Scene) -> Optional[_AvailableJobType]:
|
||||||
"""Return the active job type.
|
"""Return the active job type.
|
||||||
|
|
||||||
Returns a flamenco.manager.model.available_job_type.AvailableJobType,
|
Returns a flamenco.manager.model.available_job_type.AvailableJobType,
|
||||||
|
@ -10,10 +10,15 @@ import bpy
|
|||||||
_log = logging.getLogger(__name__)
|
_log = logging.getLogger(__name__)
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from flamenco.manager.models import AvailableJobType, AvailableJobSetting
|
from flamenco.manager.models import (
|
||||||
|
AvailableJobType as _AvailableJobType,
|
||||||
|
AvailableJobSetting as _AvailableJobSetting,
|
||||||
|
JobSettings as _JobSettings,
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
AvailableJobType = object
|
_AvailableJobType = object
|
||||||
AvailableJobSetting = object
|
_AvailableJobSetting = object
|
||||||
|
_JobSettings = object
|
||||||
|
|
||||||
|
|
||||||
class JobTypePropertyGroup:
|
class JobTypePropertyGroup:
|
||||||
@ -22,7 +27,7 @@ class JobTypePropertyGroup:
|
|||||||
Use `generate(job_type: AvailableJobType)` to create such a subclass.
|
Use `generate(job_type: AvailableJobType)` to create such a subclass.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
job_type: AvailableJobType
|
job_type: _AvailableJobType
|
||||||
"""The job type passed to `generate(job_type)`."""
|
"""The job type passed to `generate(job_type)`."""
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
@ -52,7 +57,7 @@ _prop_types = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
def generate(job_type: AvailableJobType) -> type[JobTypePropertyGroup]:
|
def generate(job_type: _AvailableJobType) -> type[JobTypePropertyGroup]:
|
||||||
"""Create a PropertyGroup for the job type.
|
"""Create a PropertyGroup for the job type.
|
||||||
|
|
||||||
Does not register the property group.
|
Does not register the property group.
|
||||||
@ -89,7 +94,7 @@ def generate(job_type: AvailableJobType) -> type[JobTypePropertyGroup]:
|
|||||||
return pg_type
|
return pg_type
|
||||||
|
|
||||||
|
|
||||||
def _create_property(job_type: AvailableJobType, setting: AvailableJobSetting) -> Any:
|
def _create_property(job_type: _AvailableJobType, setting: _AvailableJobSetting) -> Any:
|
||||||
"""Create a bpy.props property for the given job setting.
|
"""Create a bpy.props property for the given job setting.
|
||||||
|
|
||||||
Depending on the setting, will be a StringProperty, EnumProperty, FloatProperty, etc.
|
Depending on the setting, will be a StringProperty, EnumProperty, FloatProperty, etc.
|
||||||
@ -117,7 +122,7 @@ def _create_property(job_type: AvailableJobType, setting: AvailableJobSetting) -
|
|||||||
|
|
||||||
|
|
||||||
def _find_prop_type(
|
def _find_prop_type(
|
||||||
job_type: AvailableJobType, setting: AvailableJobSetting
|
job_type: _AvailableJobType, setting: _AvailableJobSetting
|
||||||
) -> tuple[Any, dict[str, Any]]:
|
) -> tuple[Any, dict[str, Any]]:
|
||||||
"""Return a tuple (bpy.props.XxxProperty, kwargs for construction)."""
|
"""Return a tuple (bpy.props.XxxProperty, kwargs for construction)."""
|
||||||
|
|
||||||
|
@ -10,10 +10,13 @@ import bpy
|
|||||||
from . import preferences
|
from . import preferences
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from .bat_interface import PackThread, Message
|
from .bat_interface import (
|
||||||
|
PackThread as _PackThread,
|
||||||
|
Message as _Message,
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
PackThread = object
|
_PackThread = object
|
||||||
Message = object
|
_Message = object
|
||||||
|
|
||||||
_log = logging.getLogger(__name__)
|
_log = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -109,7 +112,7 @@ class FLAMENCO_OT_submit_job(FlamencoOpMixin, bpy.types.Operator):
|
|||||||
job_name: bpy.props.StringProperty(name="Job Name")
|
job_name: bpy.props.StringProperty(name="Job Name")
|
||||||
|
|
||||||
timer: Optional[bpy.types.Timer] = None
|
timer: Optional[bpy.types.Timer] = None
|
||||||
packthread: Optional[PackThread] = None
|
packthread: Optional[_PackThread] = None
|
||||||
|
|
||||||
log = _log.getChild(bl_idname)
|
log = _log.getChild(bl_idname)
|
||||||
|
|
||||||
@ -204,7 +207,7 @@ class FLAMENCO_OT_submit_job(FlamencoOpMixin, bpy.types.Operator):
|
|||||||
|
|
||||||
return {"RUNNING_MODAL"}
|
return {"RUNNING_MODAL"}
|
||||||
|
|
||||||
def _on_bat_pack_msg(self, context: bpy.types.Context, msg: Message) -> set[str]:
|
def _on_bat_pack_msg(self, context: bpy.types.Context, msg: _Message) -> set[str]:
|
||||||
from . import bat_interface
|
from . import bat_interface
|
||||||
|
|
||||||
if isinstance(msg, bat_interface.MsgDone):
|
if isinstance(msg, bat_interface.MsgDone):
|
||||||
|
Loading…
Reference in New Issue
Block a user