+ self.meta = {}
+ self.tmp = tempfile.mkdtemp(prefix='.snf_image_creator.',
+ dir=self._get_tmp_dir(tmp))
+
+ self._add_cleanup(shutil.rmtree, self.tmp)
+
+ def _get_tmp_dir(self, default=None):
+ if default is not None:
+ return default
+
+ space = map(free_space, TMP_CANDIDATES)
+
+ max_idx = 0
+ max_val = space[0]
+ for i, val in zip(range(len(space)), space):
+ if val > max_val:
+ max_val = val
+ max_idx = i
+
+ # Return the candidate path with more available space
+ return TMP_CANDIDATES[max_idx]