| 251 | """ |
| 252 | |
| 253 | def __init__(self, verbosity=0, default_name="couchbase.log", tmp_dir=None): |
| 254 | self.files = {} |
| 255 | self.tasks = {} |
| 256 | self.verbosity = verbosity |
| 257 | self.start_time = time.strftime("%Y%m%d-%H%M%S", time.gmtime()) |
| 258 | self.default_name = default_name |
| 259 | |
| 260 | if not tmp_dir: |
| 261 | tmp_dir = None |
| 262 | else: |
| 263 | tmp_dir = os.path.abspath(os.path.expanduser(tmp_dir)) |
| 264 | |
| 265 | try: |
| 266 | self.tmpdir = tempfile.mkdtemp(dir=tmp_dir, prefix="sgcollect") |
| 267 | except OSError as e: |
| 268 | print("Could not use temporary dir {0}: {1}".format(tmp_dir, e)) |
| 269 | sys.exit(1) |
| 270 | |
| 271 | # If a dir wasn't passed by --tmp-dir, check if the env var was set and if we were able to use it |
| 272 | if ( |
| 273 | not tmp_dir |
| 274 | and os.getenv("TMPDIR") |
| 275 | and os.path.split(self.tmpdir)[0] != os.getenv("TMPDIR") |
| 276 | ): |
| 277 | log("Could not use TMPDIR {0}".format(os.getenv("TMPDIR"))) |
| 278 | log("Using temporary dir {0}".format(os.path.split(self.tmpdir)[0])) |
| 279 | |
| 280 | def __enter__(self): |
| 281 | return self |