Format: application/x-python-code
1 o
2
3 /'h�+ � @ s� d dl Zd dlZddlT i dd�dd�dd �d
4 d�dd
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 �ZG d1d2� 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 � � � � � � � � � � c sZ e Zd Ze�d�Ze�d�Zh d�Zd1� fdd� Z� fdd �Z d
8 d� Z
9 dd
10 � Zzej
11 jje_W n ey> ej
12 jje_Y nw dd� Zzej
13 jje_W n eyZ ej
14 jje_Y nw dd� 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+xmlc s( |r|| _ || _g | _tt| ��� d S �N)�encoding�_type�pieces�superr �__init__)�selfr. r/ �� __class__� �EC:\Users\shubh\Videos\agent\nova\Lib\site-packages\feedparser/html.pyr2 Y s
15 z_BaseHTMLProcessor.__init__c s g | _ tt| ��� d S r- )r0 r1 r �reset�r3 r4 r6 r7 r8 ` s z_BaseHTMLProcessor.resetc C s4 |� d�}|| jv rd| d S d| d | d S )z=
16 :type match: Match[str]
17 :rtype: str
18 r �<z />z></�>)�group�elements_no_end_tag)r3 �match�tagr6 r6 r7 �_shorttag_replaced s
19
20 z$_BaseHTMLProcessor._shorttag_replacec C � t �r- ��NotImplementedError�r3 �ir6 r6 r7 �goaheadu � z_BaseHTMLProcessor.goaheadc C rA r- rB rD r6 r6 r7 Z__parse_starttag� rG z#_BaseHTMLProcessor.__parse_starttagc C sB | � |�}| jdkr|dkr| j|d |� dkr| �| j� |S )Nr, � z/>)�"_BaseHTMLProcessor__parse_starttagr/ �rawdata�unknown_endtag�lasttag)r3 rE �jr6 r6 r7 �parse_starttag� s
21
22
23 z!_BaseHTMLProcessor.parse_starttagc s\ t �dd|t j�}t �d| j|�}|�dd�}|�dd�}tt| ��|� tt| ��� dS ) z6
24 :type data: str
25 :rtype: None
26 z<!((?!DOCTYPE|--|\[))z<!\1z<([^<>\s]+?)\s*/>z'�'z"�"N) �re�sub�
27 IGNORECASEr@ �replacer1 r �feed�close)r3 �datar4 r6 r7 rU � s z_BaseHTMLProcessor.feedc C s4 | s| S dd� | D �}dd� |� � D �} | �� | S )zZ
28 :type attrs: List[Tuple[str, str]]
29 :rtype: List[Tuple[str, str]]
30 c S s i | ] \}}|� � |�qS r6 ��lower��.0�k�vr6 r6 r7 �
31 <dictcomp>� s z6_BaseHTMLProcessor.normalize_attrs.<locals>.<dictcomp>c S s( g | ]\}}||d v r|� � p|f�qS ))�rel�typerX rZ r6 r6 r7 �
32 <listcomp>� s ��z6_BaseHTMLProcessor.normalize_attrs.<locals>.<listcomp>)�items�sort)�attrsZattrs_dr6 r6 r7 �normalize_attrs� s �z"_BaseHTMLProcessor.normalize_attrsc C s� g }d}|r7|D ]$\}}|� dd�}|� dd�}|� dd�}| j�d|�}|�||f� qd�d d
33 � |D ��}|| jv rH| 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>r: �<rP z"z&c s s � | ]\}}d ||f V qdS )z %s="%s"Nr6 )r[ �key�valuer6 r6 r7 � <genexpr>� s
40 �
41 �
42 �z6_BaseHTMLProcessor.unknown_starttag.<locals>.<genexpr>z<%s%s />z<%s%s>N)rT �bare_ampersandrR �append�joinr= r0 )r3 r? rd ZuattrsZstrattrsrh ri r6 r6 r7 �unknown_starttag� s
43
44 �
45 z#_BaseHTMLProcessor.unknown_starttagc C s"