<commit_before>from collections import Iterable

HTML_TAGS = ['html',
         'head',
         'title',
         'base',
         'link',
         'meta',
         'style',
         'script',
         'noscript',
         'template',
         'body',
         'section',
         'nav',
         'article',
         'aside',
         'h1',
         'h2',
         'h3',
         'h4',
         'h5',
         'h6',
         'header',
         'footer',
         'address',
         'main',
         'p',
         'hr',
         'pre',
         'blockquote',
         'ol',
         'ul',
         'li',
         'dl',
         'dt',
         'dd',
         'figure',
         'figcaption',
         'div',
         'a',
         'em',
         'strong',
         'small',
         's',
         'cite',
         'q',
         'dfn',
         'abbr',
         'data',
         'time',
         'code',
         'var',
         'samp',
         'kbd',
         'sub',
         'i',
         'b',
         'u',
         'mark',
         'ruby',
         'rt',
         'rp',
         'bdi',
         'bdo',
         'span',
         'br',
         'wbr',
         'ins',
         'del',
         'img',
         'iframe',
         'embed',
         'object',
         'param',
         'video',
         'audio',
         'source',
         'track',
         'canvas',
         'map',
         'area',
         'svg',
         'math',
         'table',
         'caption',
         'colgroup',
         'col',
         'tbody',
         'thead',
         'tfoot',
         'tr',
         'td',
         'th',
         'form',
         'fieldset',
         'legend',
         'label',
         'input',
         'button',
         'select',
         'datalist',
         'optgroup',
         'option',
         'textarea',
         'keygen',
         'output',
         'progress',
         'meter',
         'details',
         'summary',
         'menuitem',
         'menu']
HTML_VOID_TAGS = ['area', 'base', 'br', 'col', 'command', 
                  'embed', 'hr', 'img', 'input', 'keygen',
                  'link', 'meta', 'param', 'source', 'track', 'wbr']
_TAG_SET = set(HTML_TAGS)
_VOID_TAG_SET = set(HTML_VOID_TAGS)


def _escape_attr_value(val):
    # TODO
    return val

def _is_whitespace(s): 
    return s == " " or s == "\t" or s == "\n"

def _escape_string(val):<commit_msg>Implemented escape function for attribute value<commit_after>from collections import Iterable

HTML_TAGS = ['html',
         'head',
         'title',
         'base',
         'link',
         'meta',
         'style',
         'script',
         'noscript',
         'template',
         'body',
         'section',
         'nav',
         'article',
         'aside',
         'h1',
         'h2',
         'h3',
         'h4',
         'h5',
         'h6',
         'header',
         'footer',
         'address',
         'main',
         'p',
         'hr',
         'pre',
         'blockquote',
         'ol',
         'ul',
         'li',
         'dl',
         'dt',
         'dd',
         'figure',
         'figcaption',
         'div',
         'a',
         'em',
         'strong',
         'small',
         's',
         'cite',
         'q',
         'dfn',
         'abbr',
         'data',
         'time',
         'code',
         'var',
         'samp',
         'kbd',
         'sub',
         'i',
         'b',
         'u',
         'mark',
         'ruby',
         'rt',
         'rp',
         'bdi',
         'bdo',
         'span',
         'br',
         'wbr',
         'ins',
         'del',
         'img',
         'iframe',
         'embed',
         'object',
         'param',
         'video',
         'audio',
         'source',
         'track',
         'canvas',
         'map',
         'area',
         'svg',
         'math',
         'table',
         'caption',
         'colgroup',
         'col',
         'tbody',
         'thead',
         'tfoot',
         'tr',
         'td',
         'th',
         'form',
         'fieldset',
         'legend',
         'label',
         'input',
         'button',
         'select',
         'datalist',
         'optgroup',
         'option',
         'textarea',
         'keygen',
         'output',
         'progress',
         'meter',
         'details',
         'summary',
         'menuitem',
         'menu']
HTML_VOID_TAGS = ['area', 'base', 'br', 'col', 'command', 
                  'embed', 'hr', 'img', 'input', 'keygen',
                  'link', 'meta', 'param', 'source', 'track', 'wbr']
_TAG_SET = set(HTML_TAGS)
_VOID_TAG_SET = set(HTML_VOID_TAGS)


def _escape_attr_value(val):
    return val.replace("&", "&amp;")\
              .replace("<", "&lt;")\
              .replace(">", "&gt;")\
              .replace("\'", "&#39;")\
              .replace("\"", "&#34;")


def _is_whitespace(s): 
    return s == " " or s == "\t" or s == "\n"

def _escape_string(val):
{'fraction_non_alphanumeric': 0.1804662379421222, 'fraction_numerical': 0.003215434083601286, 'mean_word_length': 0.9931918301962355, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 4, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1818120', 'n_tokens_mistral': 1595, 'n_tokens_neox': 1569, 'n_words': 320}