Skip to content

Commit 661e96d

Browse files
committed
Avoid calling get_top_level() unless needed
1 parent 5f167f3 commit 661e96d

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

sphinx_github_style/__init__.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,9 @@
1818

1919

2020
def setup(app: Sphinx) -> Dict[str, Any]:
21-
repo_dir = get_repo_dir()
22-
2321
app.connect("builder-inited", add_static_path)
2422
app.add_config_value('linkcode_blob', 'head', True)
25-
app.add_config_value('top_level', get_top_level(repo_dir), True)
23+
app.add_config_value('top_level', '', True)
2624

2725
linkcode_blob = get_conf_val(app, "linkcode_blob")
2826
linkcode_url = get_linkcode_url(
@@ -31,7 +29,11 @@ def setup(app: Sphinx) -> Dict[str, Any]:
3129
context=get_conf_val(app, 'html_context'),
3230
)
3331
linkcode_func = get_conf_val(app, "linkcode_resolve")
34-
top_level = get_conf_val(app, 'top_level')
32+
repo_dir = get_repo_dir()
33+
34+
if not (top_level := get_conf_val(app, 'top_level')):
35+
top_level = get_top_level(repo_dir)
36+
set_conf_val(app, 'top_level', top_level)
3537

3638
if not callable(linkcode_func):
3739
print(
@@ -218,6 +220,7 @@ def get_top_level(repo_dir: Optional[Path] = None) -> str:
218220
:param repo_dir: The root directory of the Git repository.
219221
:return: The top-level module name of the package.
220222
"""
223+
print("get_top_level called")
221224
if repo_dir is None:
222225
repo_dir = get_repo_dir()
223226

0 commit comments

Comments
 (0)