๓ r2Wc@`sddlmZmZmZddlmZyddlmZWnek rSnXddl m Z m Z m Z ddl m Z mZmZddlmZddlmZd je ƒZ ydd lmZmZWnek r๎d Zn๖Xd ZiZed ƒdkZxปeejƒƒD]ง\ZZerDeeƒdks e rceeƒdkrcq nedkr eeƒdkr“ej eƒZn e!eƒZeeksทej"ƒrวeee 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_charN(Rtuse_best_quote_chartoptionstsetattrRtgetattrterrorststrict(tselftkwargstattr((sR/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/serializer/htmlserializer.pyt__init__hs .  ) cC`s9t|tƒst‚|jr1|j|jtƒS|SdS(N(RRtAssertionErrortencodingtencodetunicode_encode_errors(R4tstring((sR/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/serializer/htmlserializer.pyR:s cC`s9t|tƒst‚|jr1|j|jdƒS|SdS(Nustrict(RRR8R9R:(R4R<((sR/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/serializer/htmlserializer.pyt encodeStrictคs c #`s"||_t}g|_|rI|jrIddlm}|||ƒ}n|jrqddlm}||ƒ}n|jr™ddl m}||ƒ}n|j rมddl m}||ƒ}n|j r้ddl m}||ƒ}nx2|D]*}|d}|dkrไd|d}|dr9|d|d7}n|d rP|d 7}n|d rษ|d jd ƒd krฅ|d jd ƒd krœ|jdƒnd }nd }|d||d |f7}n|d7}|j|ƒVq๐|d1kra|dks|rF|r1|djdƒd kr1|jdƒn|j|dƒVq|jt|dƒƒVq๐|d2krโ|d} |jd| ƒV| tkrจ|j rจt}n|rพ|jdƒnxะ|djƒD]พ\\} } } | } | ‰|jdƒV|j| ƒV|j sI| tj| tƒƒkrฯ| tjdtƒƒkrฯ|jdƒV|jsgˆ rpt}nt‡fd†tdtƒ}ˆjdd ƒ‰|jrฟˆjd!d"ƒ‰n|r||j }|j!rd ˆkr๘d ˆkr๘d }qd ˆkrd ˆkrd }qn|d kr=ˆ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'kr8|d} | tkr t}n|r#|jdƒn|jd(| ƒVq๐|d)krŒ|d}|jd*ƒd krs|jd+ƒn|jd,|dƒVq๐|d-kr |d} | d.}|t%krฬ|jd/| ƒn|j&r๎|t'kr๎t%|}n d0| }|j|ƒVq๐|j|dƒq๐WdS(3Ni(tFilterutypeuDoctypeu u CharactersuSpaceCharactersudatau๖su>"'=u&u&uuCommentu--uComment contains --u uEntityu;uEntity %s not recognizedu&%s;(u CharactersuSpaceCharacters(uStartTaguEmptyTag((R9RR2tinject_meta_charsettfilters.inject_meta_charsetR>tstrip_whitespacetfilters.whitespacetsanitizetfilters.sanitizertomit_optional_tagstfilters.optionaltagstalphabetical_attributestfilters.alphabeticalattributestfindtserializeErrorR=R:R Rt escape_rcdataRtitemstminimize_boolean_attributesRRttupletquote_attr_valuesRRtreplacetescape_lt_in_attrst quote_charR.Rtuse_trailing_solidustspace_before_trailing_solidusR tresolve_entitiesR (R4t treewalkerR9tin_cdataR>ttokenttypetdoctypeRVtnametattr_namespacet attr_namet attr_valuetkt quote_attrtdatatkey((RAsR/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/serializer/htmlserializer.pyt serializeซsา                   #                     cC`sE|r%djt|j||ƒƒƒSdjt|j|ƒƒƒSdS(Ntu(R!tlistRg(R4RZR9((sR/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/serializer/htmlserializer.pytrender.suXXX ERROR MESSAGE NEEDEDcC`s&|jj|ƒ|jr"t‚ndS(N(R2RR3tSerializeError(R4Re((sR/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/serializer/htmlserializer.pyRN4s (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_whitespaceusanitizeN(t__name__t __module__RRSRVRR.RIRQRWRXRURORYRKRCRERGR/R7R:R=tNoneRgRjRN(((sR/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/serializer/htmlserializer.pyR-Is4 5   ƒ cC`sdS(uError in serialized treeN((t Exception((sR/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/serializer/htmlserializer.pyRk;sN('t __future__RRRtpip._vendor.sixRt functoolsRt ImportErrort constantsRRRRR R RhR txml.sax.saxutilsR R!tcodecsR RR;Rtlentis_ucs4RiRPRcRARRtislowerR,RR-Rk(((sR/usr/lib/python2.7/site-packages/pip/_vendor/html5lib/serializer/htmlserializer.pyts@       ๒