8000 refactor: Use proper parameters in `Inventory.register` method, and d… · mkdocstrings/mkdocstrings@433c6e0 · GitHub
[go: up one dir, main page]

Skip to content

Commit 433c6e0

Browse files
committed
refactor: Use proper parameters in Inventory.register method, and don't overwrite items
1 parent b194452 commit 433c6e0

File tree

1 file changed

+24
-5
lines changed

1 file changed

+24
-5
lines changed

src/mkdocstrings/inventory.py

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -88,15 +88,34 @@ def __init__(self, items: list[InventoryItem] | None = None, project: str = "pro
8888
self.project = project
8989
self.version = version
9090

91-
def register(self, *args: str, **kwargs: str) -> None:
91+
def register(
92+
self,
93+
name: str,
94+
domain: str,
95+
role: str,
96+
uri: str,
97+
priority: str = "1",
98+
dispname: str | None = None,
99+
) -> None:
92100
"""Create and register an item.
93101
94102
Arguments:
95-
*args: Arguments passed to [InventoryItem][mkdocstrings.inventory.InventoryItem].
96-
**kwargs: Keyword arguments passed to [InventoryItem][mkdocstrings.inventory.InventoryItem].
103+
name: The item name.
104+
domain: The item domain, like 'python' or 'crystal'.
105+
role: The item role, like 'class' or 'method'.
106+
uri: The item URI.
107+
priority: The item priority. It can help for inventory suggestions.
108+
dispname: The item display name.
97109
"""
98-
item = InventoryItem(*args, **kwargs)
99-
self[item.name] = item
110+
if name not in self:
111+
self[name] = InventoryItem(
112+
name=name,
113+
domain=domain,
114+
role=role,
115+
uri=uri,
116+
priority=priority,
117+
dispname=dispname,
118+
)
100119

101120
def format_sphinx(self) -> bytes:
102121
"""Format this inventory as a Sphinx `objects.inv` file.

0 commit comments

Comments
 (0)
0