blob: 32a13025e07ad8c08b7506f91cecd0a6b10e5714 [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)