Commit 54c67342 by finswimmer Committed by GitHub

Merge pull request #1140 from epage/p4python

fix: Gracefully handle read-only sdists
parents 4450993d d22afa9d
...@@ -34,19 +34,18 @@ def normalize_version(version): # type: (str) -> str ...@@ -34,19 +34,18 @@ def normalize_version(version): # type: (str) -> str
return str(Version(version)) return str(Version(version))
def _del_ro(action, name, exc):
os.chmod(name, stat.S_IWRITE)
os.remove(name)
@contextmanager @contextmanager
def temporary_directory(*args, **kwargs): def temporary_directory(*args, **kwargs):
try: name = tempfile.mkdtemp(*args, **kwargs)
from tempfile import TemporaryDirectory
with TemporaryDirectory(*args, **kwargs) as name:
yield name
except ImportError:
name = tempfile.mkdtemp(*args, **kwargs)
yield name yield name
shutil.rmtree(name) shutil.rmtree(name, onerror=_del_ro)
def parse_requires(requires): # type: (str) -> List[str] def parse_requires(requires): # type: (str) -> List[str]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment