summaryrefslogtreecommitdiffstats
path: root/ipapython/dnssec/temp.py
diff options
context:
space:
mode:
Diffstat (limited to 'ipapython/dnssec/temp.py')
-rw-r--r--ipapython/dnssec/temp.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/ipapython/dnssec/temp.py b/ipapython/dnssec/temp.py
new file mode 100644
index 000000000..23ee377be
--- /dev/null
+++ b/ipapython/dnssec/temp.py
@@ -0,0 +1,23 @@
+#!/usr/bin/python
+#
+# Copyright (C) 2014 FreeIPA Contributors see COPYING for license
+#
+
+import errno
+import shutil
+import tempfile
+
+class TemporaryDirectory(object):
+ def __init__(self, root):
+ self.root = root
+
+ def __enter__(self):
+ self.name = tempfile.mkdtemp(dir=self.root)
+ return self.name
+
+ def __exit__(self, exc_type, exc_value, traceback):
+ try:
+ shutil.rmtree(self.name)
+ except OSError as e:
+ if e.errno != errno.ENOENT:
+ raise