Source code for meld.util

import os
import shutil
import tempfile
import contextlib
import time
from functools import wraps


@contextlib.contextmanager
[docs]def in_temp_dir(): """Context manager to run in temporary directory""" try: cwd = os.getcwd() tmpdir = tempfile.mkdtemp() os.chdir(tmpdir) yield finally: os.chdir(cwd) shutil.rmtree(tmpdir)
def log_timing(dest_logger): def wrap(func): @wraps(func) def wrapper(*args, **kwds): t1 = time.time() res = func(*args, **kwds) t2 = time.time() dest_logger.debug('%s took %0.3f ms' % (func.func_name, (t2-t1)*1000.0)) return res return wrapper return wrap