ž †2{Ym2c@s$ddlmZmZmZddlmZddlZejZyddlm Z Wne k riYnXddl m Z m Z mZddl mZmZmZddlmZdd lmZd jeƒZydd lmZmZWne k rd ZYnùXd ZiZedƒdkZx»eejƒƒD]§\Z Z!er[ee!ƒdks7e rzee!ƒdkrzq7ne!dkr7ee!ƒdkrªej"e!ƒZ!n e#e!ƒZ!e!eksÎe j$ƒrÞe ee! becomes . use_trailing_solidus=False|True Includes a close-tag slash at the end of the start tag of void elements (empty elements whose end tag is forbidden). E.g.
. space_before_trailing_solidus=True|False Places a space immediately before the closing slash in a tag using a trailing solidus. E.g.
. Requires use_trailing_solidus. sanitize=False|True Strip all unsafe or unknown constructs from output. See `html5lib user documentation`_ omit_optional_tags=True|False Omit start/end tags that are optional. alphabetical_attributes=False|True Reorder attributes to be in alphabetical order. .. _html5lib user documentation: http://code.google.com/p/html5lib/wiki/UserDocumentation u quote_charNF(uFalseuuse_best_quote_charuoptionsusetattrugetugetattruerrorsustrict(uselfukwargsuattr((uG/tmp/pip-bsqfwp-build/pip/_vendor/html5lib/serializer/htmlserializer.pyu__init__ks .  ) uHTMLSerializer.__init__cCs9t|tƒst‚|jr1|j|jtƒS|SdS(N(u isinstanceu text_typeuAssertionErroruencodinguencodeuunicode_encode_errors(uselfustring((uG/tmp/pip-bsqfwp-build/pip/_vendor/html5lib/serializer/htmlserializer.pyuencode s uHTMLSerializer.encodecCs9t|tƒst‚|jr1|j|jdƒS|SdS(Nustrict(u isinstanceu text_typeuAssertionErroruencodinguencode(uselfustring((uG/tmp/pip-bsqfwp-build/pip/_vendor/html5lib/serializer/htmlserializer.pyu encodeStrict§s uHTMLSerializer.encodeStrictc #sI||_d2}g|_|rI|jrIddlm}|||ƒ}n|jrqddlm}||ƒ}n|jr™ddl m}||ƒ}n|j rÁddl m}||ƒ}n|j réddl m}||ƒ}nxY|D]Q}|d}|dkrêd|d}|dr9|d|d7}n|d rP|d 7}n|d rÏ|d jd ƒd kr«|d jd ƒd kr¢|jtdƒƒnd }nd }|d||d |f7}n|d7}|j|ƒVqð|d3krm|dks|rR|r=|djdƒd kr=|jtdƒƒn|j|dƒVqA|jt|dƒƒVqð|d4kr÷|d} |jd| ƒV| tkr´|j r´d5}n|rÐ|jtdƒƒnxÓ|djƒD]Á\\} } } | } | ‰|jdƒV|j| ƒV|j s[| tj| tƒƒkrá| tjdtƒƒkrá|jdƒV|jsyˆ r‚d5}n"t‡fdd†tdd2ƒ}ˆjd d!ƒ‰|j rÔˆjd"d#ƒ‰n|r‘|j!}|j"r1d ˆkr d ˆkr d }q1d ˆkr1d ˆkr1d }q1n|d krRˆjd d$ƒ‰nˆjd d%ƒ‰|j|ƒV|jˆƒV|j|ƒVq¢|jˆƒVqáqáW| t#kræ|j$ræ|j%rÕ|jd&ƒVqæ|jd'ƒVn|jdƒVqð|d(krS|d} | tkr"d2}n|r>|jtdƒƒn|jd)| ƒVqð|d*kr­|d}|jd+ƒd kr”|jtd,ƒƒn|jd-|dƒVqð|d.kr0|d} | d/}|t&kró|jtd0| ƒƒn|j'r|t(krt&|}n d1| }|j|ƒVqð|j|dƒqðWdS(6Ni(uFilterutypeuDoctypeu u CharactersuSpaceCharactersudatauùsu*HTMLSerializer.serialize..u>"'=u&u&uuCommentu--uComment contains --u uEntityu;uEntity %s not recognizedu&%s;F(u CharactersuSpaceCharacters(uStartTaguEmptyTagT()uencodinguFalseuerrorsuinject_meta_charsetufilters.inject_meta_charsetuFilterustrip_whitespaceufilters.whitespaceusanitizeufilters.sanitizeruomit_optional_tagsufilters.optionaltagsualphabetical_attributesufilters.alphabeticalattributesufinduserializeErroru_u encodeStrictuencodeuescapeurcdataElementsu escape_rcdatauTrueuitemsuminimize_boolean_attributesubooleanAttributesugetutupleuquote_attr_valuesureduceuspaceCharactersureplaceuescape_lt_in_attrsu quote_charuuse_best_quote_charu voidElementsuuse_trailing_solidususpace_before_trailing_solidusuentitiesuresolve_entitiesu xmlEntities(uselfu treewalkeruencodinguin_cdatauFilterutokenutypeudoctypeu quote_charunameuattr_namespaceu attr_nameu attr_valueuku quote_attrudataukey((uvuG/tmp/pip-bsqfwp-build/pip/_vendor/html5lib/serializer/htmlserializer.pyu serialize®sÒ                   #                     uHTMLSerializer.serializecCsE|r%djt|j||ƒƒƒSdjt|j|ƒƒƒSdS(Nsu(ujoinulistu serialize(uselfu treewalkeruencoding((uG/tmp/pip-bsqfwp-build/pip/_vendor/html5lib/serializer/htmlserializer.pyurender1suHTMLSerializer.renderuXXX ERROR MESSAGE NEEDEDcCs&|jj|ƒ|jr"t‚ndS(N(uerrorsuappendustrictuSerializeError(uselfudata((uG/tmp/pip-bsqfwp-build/pip/_vendor/html5lib/serializer/htmlserializer.pyuserializeError7s uHTMLSerializer.serializeErrorNFT(uquote_attr_valuesu quote_charuuse_best_quote_charuomit_optional_tagsuminimize_boolean_attributesuuse_trailing_solidususpace_before_trailing_solidusuescape_lt_in_attrsu escape_rcdatauresolve_entitiesualphabetical_attributesuinject_meta_charsetustrip_whitespaceusanitize(u__name__u __module__u __qualname__uFalseuquote_attr_valuesu quote_charuTrueuuse_best_quote_charuomit_optional_tagsuminimize_boolean_attributesuuse_trailing_solidususpace_before_trailing_solidusuescape_lt_in_attrsu escape_rcdatauresolve_entitiesualphabetical_attributesuinject_meta_charsetustrip_whitespaceusanitizeuoptionsu__init__uencodeu encodeStrictuNoneu serializeurenderuserializeError(u __locals__((uG/tmp/pip-bsqfwp-build/pip/_vendor/html5lib/serializer/htmlserializer.pyuHTMLSerializerLs4 5  ƒuHTMLSerializercCsdS(uError in serialized treeN((u Exception((uG/tmp/pip-bsqfwp-build/pip/_vendor/html5lib/serializer/htmlserializer.pyuSerializeError>suSerializeError()u __future__uabsolute_importudivisionuunicode_literalsupip._vendor.sixu text_typeugettextu_u functoolsureduceu ImportErroru constantsu voidElementsubooleanAttributesuspaceCharactersurcdataElementsuentitiesu xmlEntitiesuuutilsuxml.sax.saxutilsuescapeujoinucodecsuregister_erroruxmlcharrefreplace_errorsuunicode_encode_errorsuencode_entity_mapulenuis_ucs4ulistuitemsukuvusurrogatePairToCodepointuorduisloweruhtmlentityreplace_errorsuobjectuHTMLSerializeruSerializeError(((uG/tmp/pip-bsqfwp-build/pip/_vendor/html5lib/serializer/htmlserializer.pyusD         ò