view piecrust/pathutil.py @ 36:485682a6de50

New site layout support.
author Ludovic Chabant <ludovic@chabant.com>
date Wed, 20 Aug 2014 23:16:51 -0700
parents aaa8fb7c8918
children 091f99bfbe44
line wrap: on
line source

import os
import os.path


class SiteNotFoundError(Exception):
    def __init__(self, root=None):
        if not root:
            root = os.getcwd()
        Exception.__init__(self,
                "No PieCrust website in '%s' "
                "('config.yml' not found!)." % root)


def find_app_root(cwd=None):
    if cwd is None:
        cwd = os.getcwd()

    while not os.path.isfile(os.path.join(cwd, 'config.yml')):
        cwd = os.path.dirname(cwd)
        if not cwd or cwd == '/':
            return None
    return cwd