Merge pull request #1607 from ynput/enhancement/console-allow-name-change

Console interpreter: Allow to change registry name
This commit is contained in:
Jakub Trllo 2025-12-16 10:30:19 +01:00 committed by GitHub
commit e03c39dce1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 18 additions and 13 deletions

View file

@ -1,6 +1,8 @@
from __future__ import annotations
from abc import ABC, abstractmethod from abc import ABC, abstractmethod
from dataclasses import dataclass, field from dataclasses import dataclass, field
from typing import List, Dict, Optional from typing import Optional
@dataclass @dataclass
@ -13,8 +15,8 @@ class TabItem:
class InterpreterConfig: class InterpreterConfig:
width: Optional[int] width: Optional[int]
height: Optional[int] height: Optional[int]
splitter_sizes: List[int] = field(default_factory=list) splitter_sizes: list[int] = field(default_factory=list)
tabs: List[TabItem] = field(default_factory=list) tabs: list[TabItem] = field(default_factory=list)
class AbstractInterpreterController(ABC): class AbstractInterpreterController(ABC):
@ -27,7 +29,7 @@ class AbstractInterpreterController(ABC):
self, self,
width: int, width: int,
height: int, height: int,
splitter_sizes: List[int], splitter_sizes: list[int],
tabs: List[Dict[str, str]], tabs: list[dict[str, str]],
): ) -> None:
pass pass

View file

@ -1,4 +1,5 @@
from typing import List, Dict from __future__ import annotations
from typing import Optional
from ayon_core.lib import JSONSettingRegistry from ayon_core.lib import JSONSettingRegistry
from ayon_core.lib.local_settings import get_launcher_local_dir from ayon_core.lib.local_settings import get_launcher_local_dir
@ -11,13 +12,15 @@ from .abstract import (
class InterpreterController(AbstractInterpreterController): class InterpreterController(AbstractInterpreterController):
def __init__(self): def __init__(self, name: Optional[str] = None) -> None:
if name is None:
name = "python_interpreter_tool"
self._registry = JSONSettingRegistry( self._registry = JSONSettingRegistry(
"python_interpreter_tool", name,
get_launcher_local_dir(), get_launcher_local_dir(),
) )
def get_config(self): def get_config(self) -> InterpreterConfig:
width = None width = None
height = None height = None
splitter_sizes = [] splitter_sizes = []
@ -54,9 +57,9 @@ class InterpreterController(AbstractInterpreterController):
self, self,
width: int, width: int,
height: int, height: int,
splitter_sizes: List[int], splitter_sizes: list[int],
tabs: List[Dict[str, str]], tabs: list[dict[str, str]],
): ) -> None:
self._registry.set_item("width", width) self._registry.set_item("width", width)
self._registry.set_item("height", height) self._registry.set_item("height", height)
self._registry.set_item("splitter_sizes", splitter_sizes) self._registry.set_item("splitter_sizes", splitter_sizes)