18
18
19
19
20
20
def setup (app : Sphinx ) -> Dict [str , Any ]:
21
- repo_dir = get_repo_dir ()
22
-
23
21
app .connect ("builder-inited" , add_static_path )
24
22
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 )
26
24
27
25
linkcode_blob = get_conf_val (app , "linkcode_blob" )
28
26
linkcode_url = get_linkcode_url (
@@ -31,7 +29,11 @@ def setup(app: Sphinx) -> Dict[str, Any]:
31
29
context = get_conf_val (app , 'html_context' ),
32
30
)
33
31
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 )
35
37
36
38
if not callable (linkcode_func ):
37
39
print (
@@ -218,6 +220,7 @@ def get_top_level(repo_dir: Optional[Path] = None) -> str:
218
220
:param repo_dir: The root directory of the Git repository.
219
221
:return: The top-level module name of the package.
220
222
"""
223
+ print ("get_top_level called" )
221
224
if repo_dir is None :
222
225
repo_dir = get_repo_dir ()
223
226
0 commit comments