trycua/cua

Variable shadowing in computer class breaks shared directories.

Open

#124 ouverte le 23 avr. 2025

Voir sur GitHub
 (3 commentaires) (0 réactions) (0 assignés)HTML (1 051 forks)batch import
good first issue

Métriques du dépôt

Stars
 (16 722 stars)
Métriques de merge PR
 (Merge moyen 1j 9h) (119 PRs mergées en 30 j)

Description

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.

Guide contributeur