view rhodecode/lib/vcs/utils/paths.py @ 2212:727e1f922a89 beta

exclude the actual grep command in memwatch
author Marcin Kuzminski <marcin@python-works.com>
date Mon, 30 Apr 2012 14:10:58 +0200
parents 324ac367a4da
children 26fac32c215d
line wrap: on
line source

import os

abspath = lambda * p: os.path.abspath(os.path.join(*p))


def get_dirs_for_path(*paths):
    """
    Returns list of directories, including intermediate.
    """
    for path in paths:
        head = path
        while head:
            head, tail = os.path.split(head)
            if head:
                yield head
            else:
                # We don't need to yield empty path
                break


def get_dir_size(path):
    root_path = path
    size = 0
    for path, dirs, files in os.walk(root_path):
        for f in files:
            try:
                size += os.path.getsize(os.path.join(path, f))
            except OSError:
                pass
    return size

def get_user_home():
    """
    Returns home path of the user.
    """
    return os.getenv('HOME', os.getenv('USERPROFILE'))