From 129de43c792c9a15c32cb1d137bbeba3a2494e84 Mon Sep 17 00:00:00 2001 From: Anthonios Partheniou Date: Sat, 16 Oct 2021 10:14:47 +0000 Subject: [PATCH] chore(python): fix autogenerated docs/index.rst to support nested folders --- synthtool/gcp/common.py | 2 +- tests/test_common.py | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/synthtool/gcp/common.py b/synthtool/gcp/common.py index b996fcc52..c4fad5fe6 100644 --- a/synthtool/gcp/common.py +++ b/synthtool/gcp/common.py @@ -375,7 +375,7 @@ def detect_versions( pass # Sort the sub directories alphabetically. - sub_dirs = sorted([p.name for p in Path(path).glob("*v[1-9]*")]) + sub_dirs = sorted([p.name for p in Path(path).rglob("*v[1-9]*") if p.is_dir()]) if sub_dirs: # if `default_version` is not specified, return the sorted directories. diff --git a/tests/test_common.py b/tests/test_common.py index 7bff5b5ff..0677e0d35 100644 --- a/tests/test_common.py +++ b/tests/test_common.py @@ -233,3 +233,19 @@ def test_detect_versions_with_default_version_from_metadata(): json.dump(test_json, metadata) versions = detect_versions(default_first=True) assert ["api_v3", "api_v1", "api_v2"] == versions + + +def test_detect_versions_nested_directory(): + temp_dir = Path(tempfile.mkdtemp()) + src_dir = temp_dir / "src" / "src2" / "src3" + vs = ("v1", "v2", "v3") + for v in vs: + os.makedirs(src_dir / v) + + with util.chdir(temp_dir): + versions = detect_versions(default_version="v1") + assert ["v2", "v3", "v1"] == versions + versions = detect_versions(default_version="v2") + assert ["v1", "v3", "v2"] == versions + versions = detect_versions(default_version="v3") + assert ["v1", "v2", "v3"] == versions