Пример #1
0
    def append(self, head: CodePlan) -> None:
        """Append function of list object is overridden in order to add a check for the CodePlan

        :param head:
        """
        if isinstance(head, CodePlan):
            head.check_contents()
            super(TabHead, self).append(head)
        elif isinstance(head, TabHead):
            if self.is_subhead:
                raise TypeError("Nested TabHeads only for 1 level allowed!")
            else:
                head.is_subhead = True
                super(TabHead, self).append(head)
        else:
            raise TypeError("Wrong object added to TabHead ({}). Only CodePlan or TabHead allowed!".format(type(head)))