From f57ccd95fa74dcdc800cc632bec52ca1ce2a1b3c Mon Sep 17 00:00:00 2001 From: David Glick Date: Tue, 4 Feb 2025 08:16:09 -0800 Subject: [PATCH] Accept 1 and y as true values for use_prerelease_versions (#61) --- cookieplone/cli.py | 4 ++++ cookieplone/filters/__init__.py | 5 +++-- news/47.bugfix | 1 + 3 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 news/47.bugfix diff --git a/cookieplone/cli.py b/cookieplone/cli.py index 86337c7..3680f8a 100644 --- a/cookieplone/cli.py +++ b/cookieplone/cli.py @@ -38,6 +38,10 @@ def parse_extra_content(value: list[str]) -> dict: return dict([s.split("=") for s in value]) +def parse_boolean(value: str) -> bool: + return value.lower() in ("1", "yes", "y") + + def prompt_for_template(base_path: Path) -> str: """Parse cookiecutter.json in base_path and prompt user to choose.""" templates = get_template_options(base_path) diff --git a/cookieplone/filters/__init__.py b/cookieplone/filters/__init__.py index 34c63ec..5ba5093 100644 --- a/cookieplone/filters/__init__.py +++ b/cookieplone/filters/__init__.py @@ -5,6 +5,7 @@ from cookiecutter.utils import simple_filter +from cookieplone.cli import parse_boolean from cookieplone.utils import containers, versions @@ -64,14 +65,14 @@ def use_prerelease_versions(_: str) -> str: @simple_filter def latest_volto(use_prerelease_versions: str) -> str: """Return the latest released version of Volto.""" - allow_prerelease = use_prerelease_versions == "Yes" + allow_prerelease = parse_boolean(use_prerelease_versions) return versions.latest_volto(allow_prerelease=allow_prerelease) @simple_filter def latest_plone(use_prerelease_versions: str) -> str: """Return the latest released version of Plone.""" - allow_prerelease = use_prerelease_versions == "Yes" + allow_prerelease = parse_boolean(use_prerelease_versions) return versions.latest_plone(allow_prerelease=allow_prerelease) diff --git a/news/47.bugfix b/news/47.bugfix new file mode 100644 index 0000000..27fb817 --- /dev/null +++ b/news/47.bugfix @@ -0,0 +1 @@ +Fix parsing of boolean values for use_prerelease_versions. @davisagli