<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def truncate_html(html, *args, **kwargs):
 """Truncates HTML string. :param html: The HTML string or parsed element tree (with :func:`html5lib.parse`). :param kwargs: Similar with :class:`.filters.TruncationFilter`. :return: The truncated HTML string. """

    if hasattr(html, 'getchildren'):
        etree = html
    else:
        etree = html5lib.parse(html)

    walker = html5lib.getTreeWalker('etree')

    stream = walker(etree)
    stream = TruncationFilter(stream, *args, **kwargs)

    serializer = html5lib.serializer.HTMLSerializer()
    serialized = serializer.serialize(stream)

    return u''.join(serialized).strip()