trycua/cua

Variable shadowing in computer class breaks shared directories.

Open

#124 创建于 2025年4月23日

在 GitHub 查看
 (3 评论) (0 反应) (0 负责人)HTML (16,722 star) (1,051 fork)batch import
good first issue

描述

This section in the Computer.__init__ method:

 if shared_directories:
    for path in shared_directories:
        abs_path = os.path.abspath(os.path.expanduser(path))  # type: ignore[attr-defined]
        if not os.path.exists(abs_path):  # type: ignore[attr-defined]
            raise ValueError(f"Shared directory does not exist: {path}")
        self.shared_paths.append(abs_path)

fails with:

abs_path = os.path.abspath(os.path.expanduser(path))  # type: ignore[attr-defined]
               ^^^^^^^
AttributeError: 'str' object has no attribute 'path'

because the module name is being shadowed by the init variable os, which is a string (macos, linux).

Please fix.

贡献者指南