class Options(dict):
"""A dict/attribute hybrid that returns None on nonexisting keys."""
+
def __getattr__(self, name: str) -> Any:
try:
return self[name.replace('_', '-')]
@@ -427,7 +428,15 @@ class Documenter:
if self.objpath:
# Be explicit about the module, this is necessary since .. class::
# etc. don't support a prepended module name
- self.add_line(' :module: %s' % self.modname, sourcename)
+ modname = self.get_display_modname()
+ self.add_line(' :module: %s' % modname, sourcename)
+
+ def get_display_modname(self) -> str:
+ if self.options.strip_name:
+ remove = name_to_remove_from_options
+ return self.modname.strip(remove)
+ else:
+ return self.modname