def remove_topic(self, name): if "/" in name: root, nodes = name.split("/", 1) _topic = self.get_topic(root) if _topic is not None: return _topic.remove_topic(nodes) raise UnknownTopicException("Unknown topic: %s" % name) else: _topic = self.get_topic(name) if _topic is not None: del _topic.parent del self.topics[name] return True raise UnknownTopicException("Unknown topic: %s" % name)
def remove_topic(self, name): if "/" in name: root, nodes = name.split("/", 1) _topic = self.get_topic(root) if _topic is not None: return _topic.remove_topic(nodes) raise UnknownTopicException("Unknown topic: %s" % name) else: _topic = self.get_topic(name) if _topic is not None: if _topic.parent: del _topic.parent del self.topics[name] if _topic.type == HelpTopicType.CommandTopic: if _topic.root in self.commands: del self.commands[_topic] return True raise UnknownTopicException("Unknown topic: %s" % name)
def add_topic(self, name, topic): if "/" in name: root, nodes = name.split("/", 1) _topic = self.get_topic(root) if _topic is not None: return _topic.add_topic(nodes, topic) raise UnknownTopicException("Unknown topic: %s" % name) else: _topic = self.get_topic(name) if _topic is None: topic.parent = self self.topics[name] = topic return True return False