diff options
author | Martin Fischer <martin@push-f.com> | 2022-02-08 08:21:35 +0100 |
---|---|---|
committer | Martin Fischer <martin@push-f.com> | 2022-02-08 08:21:35 +0100 |
commit | f4f60f96bdf3e3ee0f42321dced94d39634cdb4c (patch) | |
tree | a73baab1e5fb6be4dd15930ec775ca5bb19b0a1e | |
parent | d895594c38a8033f64383dee30936924316a61ce (diff) |
consider all modules that contain an object from a sphinx inventory public
-rw-r--r-- | packages.toml | 1 | ||||
-rwxr-xr-x | pydoc.py | 21 |
2 files changed, 22 insertions, 0 deletions
diff --git a/packages.toml b/packages.toml index 3b79315..91f8c58 100644 --- a/packages.toml +++ b/packages.toml @@ -8,6 +8,7 @@ sphinx_inventory_url = "https://www.crummy.com/software/BeautifulSoup/bs4/doc/ob sphinx_inventory_url = "https://bottlepy.org/docs/stable/objects.inv" [click] +sphinx_inventory_url = "https://click.palletsprojects.com/en/8.0.x/objects.inv" [django] @@ -90,13 +90,34 @@ def is_documented_in_inventory(ob: model.Documentable, inventory: Inventory) -> # TODO: it's not ideal that we default to True, ideally we could cover all kinds return True +def inventory_members(inventory: Inventory): + for x in inventory['py:class']: + yield x + for x in inventory['py:exception']: + yield x + for x in inventory['py:function']: + yield x + for x in inventory['py:method']: + yield x + for x in inventory['py:attribute']: + yield x + for x in inventory['py:property']: + yield x + class SphinxAwareSystem(model.System): def __init__(self, inventory: Inventory) -> None: super().__init__() self._inventory = inventory + self._public_modules = set(inventory['py:module']) + for x in inventory_members(inventory): + self._public_modules.add(x.rsplit('.', maxsplit=1)[0]) def privacyClass(self, ob: model.Documentable): + if isinstance(ob, model.Module): + if ob.fullName() in self._public_modules: + return model.PrivacyClass.VISIBLE + if not is_documented_in_inventory(ob, self._inventory): # TODO: if ob is return type by another public API member consider it public return model.PrivacyClass.PRIVATE |