mirror of
https://github.com/tiennm99/serena.git
synced 2026-10-14 14:17:49 +00:00
Fix project lookup by path not canonicalizing paths
This commit is contained in:
1 parent
7fae106db9
commit
9bc3b4183e
1 file changed
+9
-9
+9
-9
@@ -250,12 +250,16 @@ class SerenaConfig:
|
||||
|
||||
return instance
|
||||
|
||||
def get_project(self, project_name: str) -> Project:
|
||||
# currently, expects no duplicate project names
|
||||
def find_project(self, project_root_or_name: str) -> Project | None:
|
||||
for project in self.projects:
|
||||
if project.project_config.project_name == project_name:
|
||||
if project.project_config.project_name == project_root_or_name:
|
||||
return project
|
||||
raise ValueError(f"Project '{project_name}' not found in Serena configuration; valid project names: {self.project_names}")
|
||||
if os.path.isdir(project_root_or_name):
|
||||
project_root = Path(project_root_or_name).resolve()
|
||||
for project in self.projects:
|
||||
if Path(project.project_root).resolve() == project_root:
|
||||
return project
|
||||
return None
|
||||
|
||||
def save(self, preserve_comments: bool = True) -> None:
|
||||
loaded_original_yaml = deepcopy(self.loaded_original_yaml)
|
||||
@@ -564,11 +568,7 @@ class SerenaAgent:
|
||||
"""
|
||||
new_project_generated = False
|
||||
new_project_config_generated = False
|
||||
project_instance: Project | None = None
|
||||
for registered_project in self.serena_config.projects:
|
||||
if project_root_or_name in (registered_project.project_name, registered_project.project_root):
|
||||
project_instance = registered_project
|
||||
break
|
||||
project_instance: Project | None = self.serena_config.find_project(project_root_or_name)
|
||||
if project_instance is not None:
|
||||
log.info(f"Found registered project {project_instance.project_name} at path {project_instance.project_root}.")
|
||||
else:
|
||||
|
||||
Reference in new issue
Block a user