diff --git a/README.rst b/README.rst index 563d9f7..04f5977 100644 --- a/README.rst +++ b/README.rst @@ -32,6 +32,7 @@ Changes ---------------------- * fix handling of invalid IP address/range values +* implement a proper clear_doc method for the ip domain 0.2.0 - 2016-05-04 ------------------ diff --git a/jandd/sphinxext/ip.py b/jandd/sphinxext/ip.py index 7582159..fe25208 100644 --- a/jandd/sphinxext/ip.py +++ b/jandd/sphinxext/ip.py @@ -191,7 +191,22 @@ class IPDomain(Domain): } def clear_doc(self, docname): - pass + to_remove = [] + for key, value in self.data['v4range'].items(): + if docname == value[0]: + to_remove.append(key) + for key in to_remove: + del self.data['v4range'][key] + + to_remove = [] + for key, value in self.data['v6range'].items(): + if docname == value[0]: + to_remove.append(key) + for key in to_remove: + del self.data['v6range'][key] + self.data['ips'] = [ + item for item in self.data['ips'] if item['docname'] != docname + ] def resolve_xref(self, env, fromdocname, builder, typ, target, node, contnode):