Package logilab-common-0 ::
Package 39 ::
Package 0 ::
Module contexts
|
|
1 """A few useful context managers
2
3 :copyright: 2008 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
4 :contact: http://www.logilab.fr/ -- mailto:contact@logilab.fr
5 :license: General Public License version 2 - http://www.gnu.org/licenses
6 """
7 __docformat__ = "restructuredtext en"
8
9 import sys
10
11 if sys.version_info < (2, 5):
12 raise ImportError("python >= 2.5 is required to import logilab.common.contexts")
13
14 import os
15 import tempfile
16 import shutil
17
19
21 self.path = tempfile.mkdtemp()
22 return self.path
23
24 - def __exit__(self, exctype, value, traceback):
25
26 shutil.rmtree(self.path)
27 return traceback is None
28
29
32 self.directory = directory
33
35 self.cwd = os.getcwd()
36 os.chdir(self.directory)
37 return self.directory
38
39 - def __exit__(self, exctype, value, traceback):
41