view piecrust/pathutil.py @ 1:aaa8fb7c8918

Re-arranged modules to reduce dependencies to builtin stuff. Added `init` command.
author Ludovic Chabant <ludovic@chabant.com>
date Sun, 22 Dec 2013 08:00:24 -0800
parents a212a3f2e3ee
children 485682a6de50
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' "
                "('_content/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, '_content', 'config.yml')):
        cwd = os.path.dirname(cwd)
        if not cwd or cwd == '/':
            return None
    return cwd