Files @ 8173b0cfe9bd
Branch filter:

Location: kallithea/rhodecode/lib/vcs/utils/paths.py

Mads Kiilerich
settings: simplify handling of form values for hooks and extensions

This makes simpler to follow the code path and search for input input field
names. The form field names are hardcoded in the template, so generating them
programmatically in the controller do not really add any flexibility.
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 ''