Mercurial > piecrust2
view piecrust/pathutil.py @ 61:64f37c4cce68
Print the help by default when running `chef` with no command.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Wed, 27 Aug 2014 10:23:32 -0700 |
parents | 091f99bfbe44 |
children | 52e4d9a1f917 |
line wrap: on
line source
import re import os import os.path re_terminal_path = re.compile(r'[/\\]|(\w\:)') class SiteNotFoundError(Exception): def __init__(self, root=None, msg=None): if not root: root = os.getcwd() full_msg = ("No PieCrust website in '%s' " "('config.yml' not found!)" % root) if msg: full_msg += ": " + msg else: full_msg += "." Exception.__init__(self, full_msg) 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 re_terminal_path.match(cwd): raise SiteNotFoundError(cwd) return cwd