Mercurial > repos > bcclaywell > argo_navis
comparison venv/lib/python2.7/site-packages/pip/utils/build.py @ 0:d67268158946 draft
planemo upload commit a3f181f5f126803c654b3a66dd4e83a48f7e203b
author | bcclaywell |
---|---|
date | Mon, 12 Oct 2015 17:43:33 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:d67268158946 |
---|---|
1 from __future__ import absolute_import | |
2 | |
3 import os.path | |
4 import tempfile | |
5 | |
6 from pip.utils import rmtree | |
7 | |
8 | |
9 class BuildDirectory(object): | |
10 | |
11 def __init__(self, name=None, delete=None): | |
12 # If we were not given an explicit directory, and we were not given an | |
13 # explicit delete option, then we'll default to deleting. | |
14 if name is None and delete is None: | |
15 delete = True | |
16 | |
17 if name is None: | |
18 # We realpath here because some systems have their default tmpdir | |
19 # symlinked to another directory. This tends to confuse build | |
20 # scripts, so we canonicalize the path by traversing potential | |
21 # symlinks here. | |
22 name = os.path.realpath(tempfile.mkdtemp(prefix="pip-build-")) | |
23 # If we were not given an explicit directory, and we were not given | |
24 # an explicit delete option, then we'll default to deleting. | |
25 if delete is None: | |
26 delete = True | |
27 | |
28 self.name = name | |
29 self.delete = delete | |
30 | |
31 def __repr__(self): | |
32 return "<{} {!r}>".format(self.__class__.__name__, self.name) | |
33 | |
34 def __enter__(self): | |
35 return self.name | |
36 | |
37 def __exit__(self, exc, value, tb): | |
38 self.cleanup() | |
39 | |
40 def cleanup(self): | |
41 if self.delete: | |
42 rmtree(self.name) |