MCPcopy
hub / github.com/sphinx-doc/sphinx / get_fignumber

Method get_fignumber

sphinx/domains/std/__init__.py:1395–1422  ·  view source on GitHub ↗
(
        self,
        env: BuildEnvironment,
        builder: Builder,
        figtype: str,
        docname: str,
        target_node: Element,
    )

Source from the content-addressed store, hash-verified

1393 return figtype
1394
1395 def get_fignumber(
1396 self,
1397 env: BuildEnvironment,
1398 builder: Builder,
1399 figtype: str,
1400 docname: str,
1401 target_node: Element,
1402 ) -> tuple[int, ...] | None:
1403 if figtype == 'section':
1404 if builder.name == 'latex':
1405 return ()
1406 elif docname not in env.toc_secnumbers:
1407 raise ValueError # no number assigned
1408 else:
1409 anchorname = '#' + target_node['ids'][0]
1410 if anchorname not in env.toc_secnumbers[docname]:
1411 # try first heading which has no anchor
1412 return env.toc_secnumbers[docname].get('')
1413 else:
1414 return env.toc_secnumbers[docname].get(anchorname)
1415 else:
1416 try:
1417 figure_id = target_node['ids'][0]
1418 return env.toc_fignumbers[docname][figtype][figure_id]
1419 except (KeyError, IndexError) as exc:
1420 # target_node is found, but fignumber is not assigned.
1421 # Maybe it is defined in orphaned document.
1422 raise ValueError from exc
1423
1424 def get_full_qualified_name(self, node: Element) -> str | None:
1425 if node.get('reftype') == 'option':

Callers 1

_resolve_numref_xrefMethod · 0.95

Calls 1

getMethod · 0.45

Tested by

no test coverage detected