blob: f397213ec895d7ffcc95840b5c86a48602cd8e3c [file] [log] [blame]
#!/usr/bin/env python
# Copyright (c) 2016 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
""" This module contains miscellaneous tools. """
import os
class ChDir(object):
"""Enter and exit the given directory appropriately."""
def __init__(self, directory, verbose=True):
"""Instantiate the ChDir.
Args:
directory: string; the directory to enter.
verbose: bool; whether or not to print the directory changes.
"""
self._destination = directory
self._origin = None
self._verbose = verbose
def __enter__(self):
"""Change to the destination directory.
Does not check whether the directory exists.
"""
self._origin = os.getcwd()
if self._verbose:
print('chdir %s' % self._destination)
os.chdir(self._destination)
def __exit__(self, *args):
"""Change back to the original directory."""
if self._verbose:
print('chdir %s' % self._origin)
os.chdir(self._origin)