trycua/cua

Variable shadowing in computer class breaks shared directories.

Open

#124 geöffnet am 23. Apr. 2025

Auf GitHub ansehen
 (3 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)HTML (16.722 Stars) (1.051 Forks)batch import
good first issue

Beschreibung

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.

Contributor Guide