Format: application/x-python-code
⬇ Download File (7.5 KB)
   1  o
   2  
   3  /'h�+�@s�ddlZddlZddlTidd�dd�dd	�d
   4  d�dd
   5  �dd�dd�dd�dd�dd�dd�dd�dd�dd�d d!�d"d#�d$d%�d&d'd(d)d*d+d,d-d.d/d0�
   6  �ZGd1d2�d2eje�ZdS)3�N�)�*�u€�u‚�uƒ�u„�u…�u†�u‡�uˆ�u‰�uŠ�u‹�uŒ�uŽ�u‘�u’�u“�u”u•u–u—u˜u™ušu›uœužuŸ)
   7  ����������csZeZdZe�d�Ze�d�Zhd�Zd1�fdd�	Z�fdd	�Z	d
   8  d�Z
   9  dd
  10  �Zzej
  11  jje_Wney>ej
  12  jje_Ynwdd�Zzej
  13  jje_WneyZej
  14  jje_Ynwdd�Z�fdd�Zedd��Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Ze�d&�jZd'd(�Z ed)d*��Z!ed+d,��Z"d-d.�Z#d/d0�Z$�Z%S)2�_BaseHTMLProcessorz[<>'"]z&(?!#\d+;|#x[0-9a-fA-F]+;|\w+;)>�br�col�inputZembed�hrZkeygenZimg�track�metaZbasefontZarea�baseZwbr�param�command�sourceZisindex�frame�linkN�application/xhtml+xmlcs(|r||_||_g|_tt|���dS�N)�encoding�_type�pieces�superr�__init__)�selfr.r/��	__class__��EC:\Users\shubh\Videos\agent\nova\Lib\site-packages\feedparser/html.pyr2Ys
  15  z_BaseHTMLProcessor.__init__csg|_tt|���dSr-)r0r1r�reset�r3r4r6r7r8`sz_BaseHTMLProcessor.resetcCs4|�d�}||jvrd|dSd|d|dS)z=
  16          :type match: Match[str]
  17          :rtype: str
  18          r�<z />z></�>)�group�elements_no_end_tag)r3�match�tagr6r6r7�_shorttag_replaceds
  19  
  20  z$_BaseHTMLProcessor._shorttag_replacecC�t�r-��NotImplementedError�r3�ir6r6r7�goaheadu�z_BaseHTMLProcessor.goaheadcCrAr-rBrDr6r6r7Z__parse_starttag�rGz#_BaseHTMLProcessor.__parse_starttagcCsB|�|�}|jdkr|dkr|j|d|�dkr|�|j�|S)Nr,�z/>)�"_BaseHTMLProcessor__parse_starttagr/�rawdata�unknown_endtag�lasttag)r3rE�jr6r6r7�parse_starttag�s
  21  
  22  
  23  z!_BaseHTMLProcessor.parse_starttagcs\t�dd|tj�}t�d|j|�}|�dd�}|�dd�}tt|��|�tt|���dS)	z6
  24          :type data: str
  25          :rtype: None
  26          z<!((?!DOCTYPE|--|\[))z&lt;!\1z<([^<>\s]+?)\s*/>z&#39;�'z&#34;�"N)	�re�sub�
  27  IGNORECASEr@�replacer1r�feed�close)r3�datar4r6r7rU�sz_BaseHTMLProcessor.feedcCs4|s|Sdd�|D�}dd�|��D�}|��|S)zZ
  28          :type attrs: List[Tuple[str, str]]
  29          :rtype: List[Tuple[str, str]]
  30          cSsi|]	\}}|��|�qSr6��lower��.0�k�vr6r6r7�
  31  <dictcomp>�sz6_BaseHTMLProcessor.normalize_attrs.<locals>.<dictcomp>cSs(g|]\}}||dvr|��p|f�qS))�rel�typerXrZr6r6r7�
  32  <listcomp>�s��z6_BaseHTMLProcessor.normalize_attrs.<locals>.<listcomp>)�items�sort)�attrsZattrs_dr6r6r7�normalize_attrs�s�z"_BaseHTMLProcessor.normalize_attrscCs�g}d}|r7|D]$\}}|�dd�}|�dd�}|�dd�}|j�d|�}|�||f�qd�d	d
  33  �|D��}||jvrH|j�d||f�d
  34  S|j�d||f�d
  35  S)z`
  36          :type tag: str
  37          :type attrs: List[Tuple[str, str]]
  38          :rtype: None
  39          �r;z&gt;r:�&lt;rPz&quot;z&amp;css �|]\}}d||fVqdS)z %s="%s"Nr6)r[�key�valuer6r6r7�	<genexpr>�s
  40  �
  41  �
  42  �z6_BaseHTMLProcessor.unknown_starttag.<locals>.<genexpr>z<%s%s />z<%s%s>N)rT�bare_ampersandrR�append�joinr=r0)r3r?rdZuattrsZstrattrsrhrir6r6r7�unknown_starttag�s
  43  
  44  �
  45  z#_BaseHTMLProcessor.unknown_starttagcCs"||jvr|j�d|�dSdS)z5
  46          :type tag: str
  47          :rtype: None
  48          z</%s>N)r=r0rl)r3r?r6r6r7rK�s
  49  �z!_BaseHTMLProcessor.unknown_endtagcCsr|��}|�d�rt|dd�d�}nt|�}|tvr/|j�dttt|��dd��dS|j�d|�dS)�5
  50          :type ref: str
  51          :rtype: None
  52          �xrN��&#%s;)rY�
  53  startswith�int�_cp1252r0rl�hex�ord)r3�refrir6r6r7�handle_charref�s
  54  (z!_BaseHTMLProcessor.handle_charrefcCs<|tjjvs
  55  |dkr|j�d|�dS|j�d|�dS)roZapos�&%s;z&amp;%sN)�html�entities�name2codepointr0rl)r3rxr6r6r7�handle_entityref�sz#_BaseHTMLProcessor.handle_entityrefcCs|j�|�dS)�6
  56          :type text: str
  57          :rtype: None
  58          N�r0rl�r3�textr6r6r7�handle_data�s	z_BaseHTMLProcessor.handle_datacC�|j�d|�dS)rz	<!--%s-->Nr�r�r6r6r7�handle_comment�z!_BaseHTMLProcessor.handle_commentcCr�)rz<?%s>Nr�r�r6r6r7�	handle_pir�z_BaseHTMLProcessor.handle_picCr�)rz<!%s>Nr�r�r6r6r7�handle_decls
  59  z_BaseHTMLProcessor.handle_declz-zA-Z][-_.a-zA-Z0-9:]*\s*cCsl|j}t|�}||kr
  60  dS|�||�}|r/|��}|��}|t|�|kr'dS|��|��fS|�|�dS)zh
  61          :type i: int
  62          :type declstartpos: int
  63          :rtype: Tuple[Optional[str], int]
  64          )N�����)rJ�len�_new_declname_matchr<�striprY�endr�)r3rE�declstartposrJ�n�m�s�namer6r6r7�
  65  _scan_name's
  66  z_BaseHTMLProcessor._scan_namecC�d|S)�5
  67          :type name: str
  68          :rtype: str
  69          rrr6�r�r6r6r7�convert_charref>�z"_BaseHTMLProcessor.convert_charrefcCr�)r�rzr6r�r6r6r7�convert_entityrefGr�z$_BaseHTMLProcessor.convert_entityrefcCsd�|j�S)zGReturn processed HTML as a single string.
  70  
  71          :rtype: str
  72          rf)rmr0r9r6r6r7�outputPsz_BaseHTMLProcessor.outputcCs8ztj�||�WStjy|�d�|dYSw)z2
  73          :type i: int
  74          :rtype: int
  75          rgr)�sgmllib�
  76  SGMLParser�parse_declarationZSGMLParseErrorr�rDr6r6r7r�Xs
  77  �z$_BaseHTMLProcessor.parse_declaration)Nr,)&�__name__�
  78  __module__�__qualname__rQ�compileZspecialrkr=r2r8r@rFr�r��__code__�AttributeError�	func_coderIrNrU�staticmethodrernrKryr~r�r�r�r�r>r�r�r�r�r�r��
  79  __classcell__r6r6r4r7r@sN
  80  
  81  ��
  82  
  83  
  84  
  85  
  86  
  87  r)	�
  88  html.entitiesr{rQZsgmlrur�r��objectrr6r6r6r7�<module>sd��������	�
  89  ���
  90  ������