From d6ebf772e3fa90910714e06cd9f5529cc2956df0 Mon Sep 17 00:00:00 2001 From: Matthew Scott Date: Thu, 23 Apr 2015 13:30:24 -0500 Subject: [PATCH] Allow `--path` even when using a virtualenv project --- pelican/tools/pelican_quickstart.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/pelican/tools/pelican_quickstart.py b/pelican/tools/pelican_quickstart.py index 2f1129dc..58da4649 100755 --- a/pelican/tools/pelican_quickstart.py +++ b/pelican/tools/pelican_quickstart.py @@ -59,6 +59,13 @@ if six.PY3: else: str_compat = unicode +# Create a 'marked' default path, to determine if someone has supplied +# a path on the command-line. +class _DEFAULT_PATH_TYPE(str_compat): + is_default_path = True + +_DEFAULT_PATH = _DEFAULT_PATH_TYPE(os.curdir) + def decoding_strings(f): def wrapper(*args, **kwargs): out = f(*args, **kwargs) @@ -178,7 +185,7 @@ def main(): parser = argparse.ArgumentParser( description="A kickstarter for Pelican", formatter_class=argparse.ArgumentDefaultsHelpFormatter) - parser.add_argument('-p', '--path', default=os.curdir, + parser.add_argument('-p', '--path', default=_DEFAULT_PATH, help="The path to generate the blog into") parser.add_argument('-t', '--title', metavar="title", help='Set the title of the website') @@ -200,7 +207,8 @@ needed by Pelican. project = os.path.join( os.environ.get('VIRTUAL_ENV', os.curdir), '.project') - if os.path.isfile(project): + no_path_was_specified = hasattr(args.path, 'is_default_path') + if os.path.isfile(project) and no_path_was_specified: CONF['basedir'] = open(project, 'r').read().rstrip("\n") print('Using project associated with current virtual environment.' 'Will save to:\n%s\n' % CONF['basedir'])