Skip to content

Commit 32e29bd

Browse files
committed
Fix support for subpackages
1 parent 4d831c9 commit 32e29bd

File tree

3 files changed

+19
-22
lines changed

3 files changed

+19
-22
lines changed

Diff for: src/pulp_docs/mkdocs_macros.py

+12-12
Original file line numberDiff line numberDiff line change
@@ -90,23 +90,23 @@ def prepare_repositories(TMPDIR: Path, repos: Repos, config: Config):
9090
shutil.rmtree(repo_sources, ignore_errors=True)
9191
shutil.rmtree(repo_docs, ignore_errors=True)
9292

93-
for repo in repos.all:
93+
for repo_or_pkg in repos.all:
9494
start = time.perf_counter()
9595
# handle subpcakges nested under repositories
96-
this_docs_dir = repo_docs / repo.name
97-
if not isinstance(repo, SubPackage):
98-
this_src_dir = repo_sources / repo.name
99-
repo.download(dest_dir=this_src_dir, clear_cache=config.clear_cache)
96+
this_docs_dir = repo_docs / repo_or_pkg.name
97+
if not isinstance(repo_or_pkg, SubPackage):
98+
this_src_dir = repo_sources / repo_or_pkg.name
99+
repo_or_pkg.download(dest_dir=this_src_dir, clear_cache=config.clear_cache)
100100
else:
101-
this_src_dir = repo_sources / repo.subpackage_of / repo.name
101+
this_src_dir = repo_sources / repo_or_pkg.subpackage_of / repo_or_pkg.name
102102

103103
# install and post-process
104-
_install_doc_files(this_src_dir, this_docs_dir, repo)
105-
if repo.type == "content":
106-
_generate_rest_api_page(this_docs_dir, repo.name, repo.title)
104+
_install_doc_files(this_src_dir, this_docs_dir, repo_or_pkg)
105+
if repo_or_pkg.type == "content":
106+
_generate_rest_api_page(this_docs_dir, repo_or_pkg.name, repo_or_pkg.title)
107107

108108
end = time.perf_counter()
109-
log.info(f"{repo.name} completed in {end - start:.2} sec")
109+
log.info(f"{repo_or_pkg.name} completed in {end - start:.2} sec")
110110

111111
# Copy core-files (shipped with pulp-docs) to tmpdir
112112
shutil.copy(
@@ -116,8 +116,8 @@ def prepare_repositories(TMPDIR: Path, repos: Repos, config: Config):
116116

117117
# Log
118118
log.info("[pulp-docs] Done downloading sources. Here are the sources used:")
119-
for repo in repos.all:
120-
log.info({repo.name: str(repo.status)})
119+
for repo_or_pkg in repos.all:
120+
log.info({repo_or_pkg.name: str(repo_or_pkg.status)})
121121

122122
return (repo_docs, repo_sources)
123123

Diff for: src/pulp_docs/repository.py

+6-8
Original file line numberDiff line numberDiff line change
@@ -239,17 +239,15 @@ def all(self):
239239
subpackages.extend(repo.subpackages)
240240
return repos + subpackages
241241

242-
def get_repos(self, type="all"):
242+
def get_repos(self, repo_types: t.Optional[t.List] = None):
243243
"""Get a set of repositories and subpackages by type."""
244-
if type == "all":
244+
# Default case
245+
if repo_types is None:
245246
return self.all
246247

247-
repos_and_pkgs = []
248-
for repo in self.all:
249-
if getattr(repo, "subpackages", None):
250-
repos_and_pkgs.extend(repo.subpackages)
251-
252-
return [repo for repo in repos_and_pkgs if repo.type == type]
248+
# Filter by repo_types
249+
repos_and_pkgs = self.all
250+
return [repo for repo in repos_and_pkgs if repo.type in repo_types]
253251

254252
@classmethod
255253
def from_yaml(cls, path: str):

Diff for: src/pulp_docs/utils/aggregation.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,7 @@ def repo_grouping(
9393
if not repo_types: # default case
9494
selected_repos = self.repos.all
9595
else:
96-
for repo_name in repo_types:
97-
selected_repos.extend(self.repos.get_repos(type=type))
96+
selected_repos.extend(self.repos.get_repos(repo_types=repo_types))
9897

9998
# Dont expand content-types
10099
if not _expand_content_types:

0 commit comments

Comments
 (0)