File "serializer.cpython-38.opt-1.pyc"

Full Path: /home/attunedd/public_html/byp/izo/con7ext_sym404/rintoar.txt/usr/lib/python3.8/site-packages/pip/_vendor/html5lib/__pycache__/serializer.cpython-38.opt-1.pyc
File size: 10.48 KB
MIME-type: text/x-bytecode.python
Charset: 8 bit

U

.e=@szddlmZmZmZddlmZddlZddlmZm	Z	ddl
mZmZm
Z
ddl
mZmZmZddlmZmZdd	lmZd
e
dZeded
ZededZiZeddkZeeD]n\Z Z!eree!dksesee!dkrqe!dkree!dkre"e!Z!ne#e!Z!e!eks0e $re ee!<qddZ%ede%dddZ&Gddde'Z(Gddde)Z*dS))absolute_importdivisionunicode_literals)	text_typeN)register_errorxmlcharrefreplace_errors)voidElementsbooleanAttributesspaceCharacters)rcdataElementsentitiesxmlEntities)treewalkers_utils)escapez"'=<>`[]u_	

 /`  ᠎᠏           

   ]u􏿿&c
	Cst|ttfrg}g}d}t|j|j|jD]n\}}|rDd}q2||j}t|j|t	|j|dgrt
|j||d}d}nt|}||q2|D]V}t
|}	|	r|d||	|	ds|dq|dt|ddqd||jfSt|SdS)NFrTr;z&#x%s;r)
isinstanceUnicodeEncodeErrorUnicodeTranslateError	enumerateobjectstartendrZisSurrogatePairminsurrogatePairToCodepointordappend_encode_entity_mapgetendswithhexjoinr)
excresZ
codepointsskipicindexZ	codepointZcper/C/usr/lib/python3.8/site-packages/pip/_vendor/html5lib/serializer.pyhtmlentityreplace_errors*s0
"



r1htmlentityreplaceetreecKs$t|}tf|}||||S)aSerializes the input token stream using the specified treewalker

    :arg input: the token stream to serialize

    :arg tree: the treewalker to use

    :arg encoding: the encoding to use

    :arg serializer_opts: any options to pass to the
        :py:class:`html5lib.serializer.HTMLSerializer` that gets created

    :returns: the tree serialized as a string

    Example:

    >>> from html5lib.html5parser import parse
    >>> from html5lib.serializer import serialize
    >>> token_stream = parse('<html><body><p>Hi!</p></body></html>')
    >>> serialize(token_stream, omit_optional_tags=False)
    '<html><head></head><body><p>Hi!</p></body></html>'

    )rZ
getTreeWalkerHTMLSerializerrender)inputZtreeencodingZserializer_optsZwalkersr/r/r0	serializeKs

r9c@s~eZdZdZdZdZdZdZdZdZ	dZ
dZdZdZ
dZdZdZdZddZdd	Zd
dZdd
dZdddZdddZdS)r4legacy"TF)quote_attr_values
quote_charuse_best_quote_charomit_optional_tagsminimize_boolean_attributesuse_trailing_solidusspace_before_trailing_solidusescape_lt_in_attrs
escape_rcdataresolve_entitiesalphabetical_attributesinject_meta_charsetstrip_whitespacesanitizec
Ksvt|t|j}t|dkr2tdtt|d|kr@d|_|jD]}t||||t	||qFg|_
d|_dS)aB
Initialize HTMLSerializer

        :arg inject_meta_charset: Whether or not to inject the meta charset.

            Defaults to ``True``.

        :arg quote_attr_values: Whether to quote attribute values that don't
            require quoting per legacy browser behavior (``"legacy"``), when
            required by the standard (``"spec"``), or always (``"always"``).

            Defaults to ``"legacy"``.

        :arg quote_char: Use given quote character for attribute quoting.

            Defaults to ``"`` which will use double quotes unless attribute
            value contains a double quote, in which case single quotes are
            used.

        :arg escape_lt_in_attrs: Whether or not to escape ``<`` in attribute
            values.

            Defaults to ``False``.

        :arg escape_rcdata: Whether to escape characters that need to be
            escaped within normal elements within rcdata elements such as
            style.

            Defaults to ``False``.

        :arg resolve_entities: Whether to resolve named character entities that
            appear in the source tree. The XML predefined entities &lt; &gt;
            &amp; &quot; &apos; are unaffected by this setting.

            Defaults to ``True``.

        :arg strip_whitespace: Whether to remove semantically meaningless
            whitespace. (This compresses all whitespace to a single space
            except within ``pre``.)

            Defaults to ``False``.

        :arg minimize_boolean_attributes: Shortens boolean attributes to give
            just the attribute value, for example::

              <input disabled="disabled">

            becomes::

              <input disabled>

            Defaults to ``True``.

        :arg use_trailing_solidus: Includes a close-tag slash at the end of the
            start tag of void elements (empty elements whose end tag is
            forbidden). E.g. ``<hr/>``.

            Defaults to ``False``.

        :arg space_before_trailing_solidus: Places a space immediately before
            the closing slash in a tag using a trailing solidus. E.g.
            ``<hr />``. Requires ``use_trailing_solidus=True``.

            Defaults to ``True``.

        :arg sanitize: Strip all unsafe or unknown constructs from output.
            See :py:class:`html5lib.filters.sanitizer.Filter`.

            Defaults to ``False``.

        :arg omit_optional_tags: Omit start/end tags that are optional.

            Defaults to ``True``.

        :arg alphabetical_attributes: Reorder attributes to be in alphabetical order.

            Defaults to ``False``.

        rz2__init__() got an unexpected keyword argument '%s'r=FN)	frozensetoptionslen	TypeErrornextiterr>setattrr$getattrerrorsstrict)selfkwargsZunexpected_argsattrr/r/r0__init__sO
zHTMLSerializer.__init__cCs|jr||jdS|SdS)Nr2r7encoderTstringr/r/r0rYszHTMLSerializer.encodecCs|jr||jdS|SdS)NrSrXrZr/r/r0encodeStrictszHTMLSerializer.encodeStrictNccs||_d}g|_|r0|jr0ddlm}|||}|jrJddlm}||}|jrdddlm}||}|j	r~ddl
m}||}|jrddlm}||}|D]>}|d}|dkr\d|d}|dr|d	|d7}n|d
r|d7}|d
rF|d

dd
kr,|d

dd
kr&|dd}nd}|d||d
|f7}|d7}||Vq|dkr|dksv|r|r|d
dd
kr|d||dVn|t|dVq|dkr|d}	|d|	V|	tkr|jsd}n|r|d|dD]\\}
}}|}
|}|dV||
V|jrv|
t|	tkr|
tdtkr|dV|jdkst|d
krd}n@|jdkrt|dk	}n$|jd krt|dk	}ntd!|d"d#}|j r|d$d%}|r|j!}|j"rHd|kr0d|kr0d}nd|krHd|krHd}|dkr`|dd&}n|dd'}||V||V||Vn||Vq|	t#kr|j$r|j%r|d(Vn|d)V|dVq|d*kr(|d}	|	tkrd}n|r|d|d+|	Vq|d,krj|d}|
d-d
krT|d.|d/|dVq|d0kr|d}	|	d1}|t&kr|d2|	|j'r|t(krt&|}nd3|	}||Vq||dqdS)4NFr)FiltertypeZDoctypez<!DOCTYPE %snameZpublicIdz PUBLIC "%s"ZsystemIdz SYSTEMr;r'zASystem identifer contains both single and double quote charactersz %s%s%s>)Z
CharactersSpaceCharactersrbdataz</zUnexpected </ in CDATA)ZStartTagZEmptyTagz<%sTz+Unexpected child element of a CDATA element r=alwaysspecr:z?quote_attr_values must be one of: 'always', 'spec', or 'legacy'rz&amp;<z&lt;z&#39;z&quot;z //ZEndTagz</%s>Commentz--zComment contains --z	<!--%s-->ZEntityrzEntity %s not recognizedz&%s;))r7rRrGZfilters.inject_meta_charsetr]rFZfilters.alphabeticalattributesrHZfilters.whitespacerIZfilters.sanitizerr?Zfilters.optionaltagsfindserializeErrorr\rYrrrDitemsr@r
r$tupler<rL_quoteAttributeSpecsearch_quoteAttributeLegacy
ValueErrorreplacerCr=r>r	rArBr
rEr)rT
treewalkerr7Zin_cdatar]tokenr^Zdoctyper=r__Z	attr_nameZ
attr_valuekvZ
quote_attrrckeyr/r/r0r9s


















zHTMLSerializer.serializecCs2|rdt|||Sdt||SdS)anSerializes the stream from the treewalker into a string

        :arg treewalker: the treewalker to serialize

        :arg encoding: the string encoding to use

        :returns: the serialized tree

        Example:

        >>> from html5lib import parse, getTreeWalker
        >>> from html5lib.serializer import HTMLSerializer
        >>> token_stream = parse('<html><body>Hi!</body></html>')
        >>> walker = getTreeWalker('etree')
        >>> serializer = HTMLSerializer(omit_optional_tags=False)
        >>> serializer.render(walker(token_stream))
        '<html><head></head><body>Hi!</body></html>'

        rN)r'listr9)rTrtr7r/r/r0r5wszHTMLSerializer.renderXXX ERROR MESSAGE NEEDEDcCs|j||jrtdS)N)rRr"rSSerializeError)rTrcr/r/r0rlszHTMLSerializer.serializeError)N)N)r|)__name__
__module____qualname__r<r=r>r?r@rArBrCrDrErFrGrHrIrKrWrYr\r9r5rlr/r/r/r0r4hs,Y


r4c@seZdZdZdS)r}zError in serialized treeN)r~rr__doc__r/r/r/r0r}sr})r3N)+Z
__future__rrrZpip._vendor.sixrrecodecsrrZ	constantsr	r
rrr
rrrrZxml.sax.saxutilsrr'Z_quoteAttributeSpecCharscompilerorqr#rLZ_is_ucs4r{rmrwrxr r!islowerr1r9rr4	Exceptionr}r/r/r/r0<module>sD





1