mirror of
https://github.com/tiennm99/serena.git
synced 2026-10-13 02:14:49 +00:00
Remove obsolete to_json_dict/from_json_dict methods from config classes
This commit is contained in:
1 parent
f3361403c2
commit
85a9e47c5b
1 file changed
+4
-40
+4
-40
@@ -17,7 +17,7 @@ from collections import defaultdict
|
||||
from collections.abc import Callable, Generator, Iterable, Sequence
|
||||
from concurrent.futures import Future, ThreadPoolExecutor
|
||||
from copy import copy, deepcopy
|
||||
from dataclasses import asdict, dataclass, field
|
||||
from dataclasses import dataclass, field
|
||||
from fnmatch import fnmatch
|
||||
from functools import cached_property
|
||||
from logging import Logger
|
||||
@@ -168,14 +168,14 @@ class ProjectConfig(ToStringMixin):
|
||||
config_with_comments["language"] = dominant_language
|
||||
if save_to_disk:
|
||||
save_yaml(str(project_root / cls.rel_path_to_project_yml()), config_with_comments, preserve_comments=True)
|
||||
return cls.from_json_dict(config_with_comments)
|
||||
return cls._from_dict(config_with_comments)
|
||||
|
||||
@classmethod
|
||||
def rel_path_to_project_yml(cls) -> str:
|
||||
return os.path.join(SERENA_MANAGED_DIR_NAME, cls.SERENA_DEFAULT_PROJECT_FILE)
|
||||
|
||||
@classmethod
|
||||
def from_json_dict(cls, data: dict[str, Any]) -> Self:
|
||||
def _from_dict(cls, data: dict[str, Any]) -> Self:
|
||||
"""
|
||||
Create a ProjectConfig instance from a configuration dictionary
|
||||
"""
|
||||
@@ -200,12 +200,6 @@ class ProjectConfig(ToStringMixin):
|
||||
encoding=data.get("encoding", DEFAULT_ENCODING),
|
||||
)
|
||||
|
||||
def to_json_dict(self) -> dict[str, Any]:
|
||||
result = asdict(self)
|
||||
result["language"] = result["language"].value
|
||||
result["excluded_tools"] = list(result["excluded_tools"])
|
||||
return result
|
||||
|
||||
@classmethod
|
||||
def load(cls, project_root: Path | str, autogenerate: bool = True) -> Self:
|
||||
"""
|
||||
@@ -222,7 +216,7 @@ class ProjectConfig(ToStringMixin):
|
||||
yaml_data = yaml.safe_load(f)
|
||||
if "project_name" not in yaml_data:
|
||||
yaml_data["project_name"] = project_root.name
|
||||
return cls.from_json_dict(yaml_data)
|
||||
return cls._from_dict(yaml_data)
|
||||
|
||||
def get_excluded_tool_classes(self) -> set[type["Tool"]]:
|
||||
return set(ToolRegistry.get_tool_class_by_name(tool_name) for tool_name in self.excluded_tools)
|
||||
@@ -253,13 +247,6 @@ class Project:
|
||||
project_config = ProjectConfig.load(project_root, autogenerate=autogenerate)
|
||||
return cls(project_root=str(project_root), project_config=project_config)
|
||||
|
||||
@classmethod
|
||||
def from_json_dict(cls, data: dict) -> Self:
|
||||
return cls(project_root=data["project_root"], project_config=ProjectConfig.from_json_dict(data["project_config"]))
|
||||
|
||||
def to_json_dict(self) -> dict:
|
||||
return {"project_root": self.project_root, "project_config": self.project_config.to_json_dict()}
|
||||
|
||||
def path_to_project_yml(self) -> str:
|
||||
return os.path.join(self.project_root, self.project_config.rel_path_to_project_yml())
|
||||
|
||||
@@ -355,19 +342,6 @@ class SerenaConfigBase(ABC):
|
||||
else:
|
||||
raise ValueError(f"Project '{project_name}' not found in Serena configuration; valid project names: {self.project_names}")
|
||||
|
||||
def to_json_dict(self) -> dict:
|
||||
"""Convert configuration to dictionary for serialization."""
|
||||
result = asdict(self)
|
||||
result["projects"] = [project.to_json_dict() for project in self.projects]
|
||||
return result
|
||||
|
||||
@classmethod
|
||||
def from_json_dict(cls, data: dict) -> Self:
|
||||
"""Create configuration from dictionary."""
|
||||
data = copy(data)
|
||||
data["projects"] = [Project.from_json_dict(project_data) for project_data in data["projects"]]
|
||||
return cls(**data)
|
||||
|
||||
|
||||
@dataclass(kw_only=True)
|
||||
class SerenaConfig(SerenaConfigBase):
|
||||
@@ -501,16 +475,6 @@ class SerenaConfig(SerenaConfigBase):
|
||||
super().remove_project(project_name)
|
||||
self.save()
|
||||
|
||||
def to_json_dict(self) -> dict:
|
||||
result = super().to_json_dict()
|
||||
result.pop("loaded_commented_yaml", None)
|
||||
return result
|
||||
|
||||
@classmethod
|
||||
def from_json_dict(cls, data: dict) -> Self:
|
||||
data["loaded_commented_yaml"] = cls._load_commented_yaml(cls.get_config_file_path())
|
||||
return super().from_json_dict(data)
|
||||
|
||||
|
||||
class LinesRead:
|
||||
def __init__(self) -> None:
|
||||
|
||||
Reference in new issue
Block a user