h fS @ sl d Z d d l Z d d l Z d d l Z d d l m Z d g Z e j d Z e j d Z e j d Z e j d Z e j d Z e j d Z e j d Z e j d Z e j d Z e j d Z e j d Z e j d e j Z e j d e j Z e j d Z e j d Z Gd d d e Z e Z Gd d d e j Z d S)zA parser for HTML and XHTML. N)unescape HTMLParserz[&<]z &[a-zA-Z#]z%&([a-zA-Z][-.a-zA-Z0-9]*)[^a-zA-Z0-9]z)(?:[0-9]+|[xX][0-9a-fA-F]+)[^0-9a-fA-F]z <[a-zA-Z]>z--\s*>z(([a-zA-Z][-.a-zA-Z0-9:_]*)(?:\s|/(?!>))*z$([a-zA-Z][^ /> ]*)(?:\s|/(?!>))*zJ\s*([a-zA-Z_][-.:a-zA-Z_0-9]*)(\s*=\s*(\'[^\']*\'|"[^"]*"|[^\s"\'=<>`]*))?z]((?<=[\'"\s/])[^\s/>][^\s/=>]*)(\s*=+\s*(\'[^\']*\'|"[^"]*"|(?![\'"])[^>\s]*))?(?:\s|/(?!>))*a <[a-zA-Z][-.a-zA-Z0-9:_]* # tag name (?:\s+ # whitespace before attribute name (?:[a-zA-Z_][-.:a-zA-Z0-9_]* # attribute name (?:\s*=\s* # value indicator (?:'[^']*' # LITA-enclosed value |\"[^\"]*\" # LIT-enclosed value |[^'\">\s]+ # bare value ) )? ) )* \s* # trailing whitespace aF <[a-zA-Z][^\t\n\r\f />\x00]* # tag name (?:[\s/]* # optional whitespace before attribute name (?:(?<=['"\s/])[^\s/>][^\s/=>]* # attribute name (?:\s*=+\s* # value indicator (?:'[^']*' # LITA-enclosed value |"[^"]*" # LIT-enclosed value |(?!['"])[^>\s]* # bare value ) (?:\s*,)* # possibly followed by a comma )?(?:\s|/(?!>))* )* )? \s* # trailing whitespace z#\s*([a-zA-Z][-.a-zA-Z0-9:_]*)\s*>c @ s1 e Z d Z d Z d d d Z d d Z d S)HTMLParseErrorz&Exception raised for all parse errors.Nc C s3 | s t | | _ | d | _ | d | _ d S)Nr )AssertionErrormsglinenooffset)selfr Zposition r 0/opt/alt/python34/lib64/python3.4/html/parser.py__init__U s zHTMLParseError.__init__c C sW | j } | j d k r, | d | j } n | j d k rS | d | j d } n | S)Nz, at line %dz, column %dr )r r r )r resultr r r __str__[ s zHTMLParseError.__str__)NN)__name__ __module____qualname____doc__r r r r r r r R s r c @ sf e Z d Z d Z d; Z e d e d d Z d d Z d d Z d d Z d d Z d Z d d Z d d Z d d Z d d Z d d Z d d d Z d d Z d d Z d! d" Z d# d$ Z d% d&