view rhodecode/lib/vcs/utils/paths.py @ 3091:291be8fa4d4f beta

rename search_recursively to search_up - that is what it is
author Mads Kiilerich <madski@unity3d.com>
date Wed, 12 Dec 2012 18:12:18 +0100
parents 26fac32c215d
children
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')) or ''