Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3 0øªjH2ã@sÜdZddlZddlmZddlmZddlmZddlm Z ddl m Z dd l m Z dd lmZdd lmZdd lmZe ƒZed dƒZed dƒZedkr´ejdƒedd�ZZn"eejdƒed�Zeejdƒd�ZdZejde›d�ƒZdd„Zdd„ZiZ dd„Z!dd„Z"d d!„Z#e"d"ƒd#d$„ƒZ$e"d%ƒd&d'„ƒZ%e"d(ƒd)d*„ƒZ&dFd+d,„Z'e"d-ƒd.d/„ƒZ(e"d0ƒd1d2„ƒZ)e"d3ƒe"d4ƒd5d6„ƒƒZ*e"d7ƒd8d9„ƒZ+e"d:ƒd;d<„ƒZ,d=d>„Z-d?d@„Z.dAdB„Z/ejdCej0ƒZ1dDdE„Z2dS)Ga” weasyprint.html --------------- Specific handling for some HTML elements, especially replaced elements. Replaced elements (eg. elements) are rendered externally and behave as an atomic opaque box in CSS. In general, they may or may not have intrinsic dimensions. But the only replaced elements currently supported in WeasyPrint are images with intrinsic dimensions. éN)Úget_data)Úurljoiné)ÚCSS)Úget_child_text)Ú CounterStyle)Úboxes)ÚSVGImage)ÚLOGGER)Úget_url_attributeZ weasyprintzcss/html5_ua.csszcss/html5_ph.cssz)User agent stylesheet could not be loadedÚ)Ústringzutf-8)r Z counter_stylez z[^z]+cCs|jdƒjƒjdƒS)a�Transform (only) ASCII letters to lower case: A-Z is mapped to a-z. :param string: An Unicode string. :returns: A new Unicode string. This is used for `ASCII case-insensitive `_ matching. This is different from the :meth:`str.lower` method of Unicode strings which also affect non-ASCII characters, sometimes mapping them into the ASCII range: >>> keyword = u'Bac\N{KELVIN SIGN}ground' >>> assert keyword.lower() == u'background' >>> assert ascii_lower(keyword) != keyword.lower() >>> assert ascii_lower(keyword) == u'bac\N{KELVIN SIGN}ground' Úutf8)ÚencodeÚlowerÚdecode)r ©rú5/tmp/pip-build-_d5lkt3n/weasyprint/weasyprint/html.pyÚ ascii_lower*srcs$t‡fdd„tj|jddƒƒDƒƒS)z• Return whether the given element has a ``rel`` attribute with the given link type. :param link_type: Must be a lower-case string. c3s|]}t|ƒˆkVqdS)N)r)Ú.0Útoken)Ú link_typerrú Isz(element_has_link_type..Úrelr )ÚanyÚHTML_SPACE_SEPARATED_TOKENS_REÚfindallÚget)Úelementrr)rrÚelement_has_link_typeAs rcCs(|jtkrt|j||||ƒS|gSdS)zbHandle HTML elements that need special care. :returns: a (possibly empty) list of boxes. N)Z element_tagÚ HTML_HANDLERSÚtag)rÚboxÚget_image_from_uriÚbase_urlrrrÚhandle_elementQs  r%cs‡fdd„}|S)zDReturn a decorator registering a function handling ``tag`` elements.cs |tˆ<|S)z;Decorator registering a function handling ``tag`` elements.)r )Úfunction)r!rrÚ decorator_szhandler..decoratorr)r!r'r)r!rÚhandler]s r(cCs@d|jdkrtjntj}||j|j||ƒ}|j|_|j|_|S)zˆWrap an image in a replaced box. That box is either block-level or inline-level, depending on what the element should be. ÚblockÚdisplay)ÚstylerZBlockReplacedBoxZInlineReplacedBoxr!Z string_setZbookmark_label)rr"ÚimageÚtype_Znew_boxrrrÚmake_replaced_boxfs r.ÚimgcCs˜t|d|ƒ}|jdƒ}|rt||d�}|dk r:t|||ƒgS|rVtjj||ƒg|_|gS|dkrbgS|dksnt‚gSn |r�tjj||ƒg|_|gSgSdS)zšHandle ```` elements. Return either an image or the alt-text. See: http://www.w3.org/TR/html5/embedded-content-1.html#the-img-element ÚsrcÚalt)ÚurlNr )r rr.rZTextBoxÚanonymous_fromÚchildrenÚAssertionError)rr"r#r$r0r1r,rrrÚ handle_imgxs"    r6ÚembedcCsFt|d|ƒ}|jddƒjƒ}|rB|||d�}|dk rBt|||ƒgSgS)z•Handle ```` elements, return either an image or nothing. See: https://www.w3.org/TR/html5/embedded-content-0.html#the-embed-element r0Útyper )r2Úforced_mime_typeN)r rÚstripr.)rr"r#r$r0r-r,rrrÚ handle_embedœs  r;ÚobjectcCsHt|d|ƒ}|jddƒjƒ}|rB|||d�}|dk rBt|||ƒgS|gS)z¨Handle ```` elements, return either an image or the fallback content. See: https://www.w3.org/TR/html5/embedded-content-0.html#the-object-element Údatar8r )r2r9N)r rr:r.)rr"r#r$r=r-r,rrrÚ handle_object­s  r>c CsN|j|dƒjƒ}|rJy t|ƒ}Wntk r4YnX||krJt|||ƒdS)zLRead an integer attribute from the HTML element and set it on the box. r N)rr:ÚintÚ ValueErrorÚsetattr)rr"ÚnameÚminimumÚvaluerrrÚinteger_attribute¿s rEÚcolgroupcsRtˆtjƒrLtdd„|Dƒƒr&dˆ_n&t|ˆdƒ‡fdd„tˆjƒDƒˆ_ˆgS)zHandle the ``span`` attribute.css|]}|jdkVqdS)ÚcolN)r!)rÚchildrrrrÒsz"handle_colgroup..NÚspanc3s|]}tjjˆgƒVqdS)N)rÚTableColumnBoxr3)rÚ_i)r"rrr×s)Ú isinstancerZTableColumnGroupBoxrrIrEÚranger4)rr"Ú_get_image_from_uriÚ _base_urlr)r"rÚhandle_colgroupÎs   rPrGcs@tˆtjƒr:t|ˆdƒˆjdkr:‡fdd„tˆjƒDƒSˆgS)zHandle the ``span`` attribute.rIrcsg|] }ˆjƒ‘qSr)Úcopy)rrK)r"rrú äszhandle_col..)rLrrJrErIrM)rr"rNrOr)r"rÚ handle_colÜs    rSÚthÚtdcCs.t|tjƒr(t||dƒt||ddd�|gS)z/Handle the ``colspan``, ``rowspan`` attributes.ZcolspanZrowspanr)rC)rLrZ TableCellBoxrE)rr"rNrOrrrÚ handle_tdès  rVÚacCst|dƒ|_|jdƒ|_|gS)zHandle the ``rel`` attribute.Ú attachmentÚdownload)rÚ is_attachmentrZ download_name)rr"rNr$rrrÚhandle_a÷s  r[z{http://www.w3.org/2000/svg}svgcCsf|jd}|jd}yt||||ƒ}Wn,tk rR}ztjd|ƒgSd}~XnXt|||ƒgSdS)zUHandle ```` elements. Return either an image or the fallback content. Ú url_fetcherÚcontextzFailed to load inline SVG: %sN)Úkeywordsr ���Ú Exceptionr ���Úerrorr.���)r���r"���r#���r$���r\���r]���r,���Ú exceptionr���r���r���Ú handle_svgÿ���s����   rb���c�������������C���s>���t�t|�jdƒƒdƒ}|dk r:|jddƒjƒ�}|r:t||ƒS�|S�)zkReturn the base URL for the document. See http://www.w3.org/TR/html5/urls.html#document-base-url ÚbaseNÚhrefr ���)ÚnextÚiterr���r:���r���)Z html_documentZfallback_base_urlZfirst_base_elementrd���r���r���r���Ú find_base_url��s ���� rg���c���������� ���C���s¨��d}d}d}g�}g�}d}d}g�}�xl|�j�jdddƒD��]V} | j} | jdkr\|dkr\t| ƒ}q4| jdk�r:t| jddƒƒ} | jddƒ} | dkrºxªtt| j d ƒƒD�]} | |krž|j | ƒ�qžW�n~| d krÎ|j | ƒ�nj| d krä|dkrä| }nT| d krú|dkrú| }n>| d k�r|dk�rt | | ƒ}n| dk�rŒ|dk�rŒt | | ƒ}q4| jdkr4t | dƒr4t | d|�jƒ} | jddƒ}| dk�r~tjdƒ�q4|j | |fƒ�q4W�t||||||||d�S�)a.��Get metadata dictionary out of HTML object. Relevant specs: http://www.whatwg.org/html#the-title-element http://www.whatwg.org/html#standard-metadata-names http://wiki.whatwg.org/wiki/MetaExtensions http://microformats.org/wiki/existing-rel-values#HTML5_link_type_extensions NÚtitleÚmetaÚlinkrB���r ���Úcontentr^���ú,ÚauthorÚ descriptionÚ generatorzdcterms.createdzdcterms.modifiedrX���rd���z'Missing href in )rh���rn���ro���r^���ÚauthorsÚcreatedÚmodifiedÚ attachments)Zwrapper_elementZ query_allZ etree_elementr!���r���r���r���ÚmapÚstrip_whitespaceÚsplitÚappendÚparse_w3c_dater���r ���r$���r ���r`���Údict)Úhtmlrh���rn���ro���r^���rp���rq���rr���rs���r���rB���rk���Úkeywordr2���Zattachment_titler���r���r���Úget_html_metadata ��sP����           r|���c�������������C���s ���|�j�tƒS�)zÈUse the HTML definition of "space character", not all Unicode Whitespace. http://www.whatwg.org/html#strip-leading-and-trailing-whitespace http://www.whatwg.org/html#space-character )r:���ÚHTML_WHITESPACE)r ���r���r���r���ru���V��s����ru���aG�� ^ [ ]* (?P\d\d\d\d) (?: -(?P0\d|1[012]) (?: -(?P[012]\d|3[01]) (?: T(?P[01]\d|2[0-3]) :(?P[0-5]\d) (?: :(?P[0-5]\d) (?:\.\d+)? # Second fraction, ignored )? (?: Z | # UTC (?P[+-](?:[01]\d|2[0-3])) :(?P[0-5]\d) ) )? )? )? [ ]* $ c�������������C���s ���t�j|ƒr|S�tjd|�|ƒ�dS�)z"http://www.w3.org/TR/NOTE-datetimez#Invalid date in %rN)Ú W3C_DATE_REÚmatchr Úwarning)Z meta_namer rrrrx„s rx)r)3Ú__doc__ÚreÚpkgutilrÚ urllib.parserr rÚcssrZ css.countersrZformatting_structurerZimagesr Úloggerr Úurlsr ZHTML5_UA_COUNTER_STYLEZHTML5_UAZHTML5_PHr€ZHTML5_UA_STYLESHEETZHTML5_PH_STYLESHEETrr}Úcompilerrrr r%r(r.r6r;r>rErPrSrVr[rbrgr|ruÚVERBOSEr~rxrrrrÚ sV               $  6