human
Give me a the Python code you requested given the following:
Complete the below
def create_simple_html_directive(name, pre, post, has_content=True, match_titles=False):

    ''''Creates a node class, directive class and setup method for the given
    parameters.
    :param name: String representing the RST directive to add.
    :param pre: String representing HTML to come before directive content.
    :param post: String representing HTML to come after directive content.
    :param has_content: Boolean indicating whether the directive accepts
    a content block.
    :param match_titles: Boolean indicating whether headings and titles may
    be included in the block contained within this directive.'
    '''
assistant
#Here is the Python code you requested.
    node_class = type(name.replace('-', '_'), (nodes.General, nodes.Element), {})
    def visit_html(self, node):
        self.body.append(pre)
    def depart_html(self, node):
        self.body.append(post)
    def run_directive(self):
        node = node_class()
        if has_content:
            text = self.content
            self.state.nested_parse(text, self.content_offset, node, match_titles=match_titles)
        self.state.document.settings.record_dependencies.add(__file__)
        return [node]
    directive_class = type((name.title() + 'Directive'), (Directive,), {'has_content': has_content, 'run': run_directive})
    def setup(app):
        app.add_node(node_class, html=(visit_html, depart_html))
        app.add_directive(name, directive_class)
    return (node_class, directive_class, setup)