| Server IP : 202.61.199.114 / Your IP : 216.73.217.139 Web Server : nginx/1.22.1 System : Linux de.arni-solutions.de 6.1.0-49-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64 User : web20 ( 1018) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /tmp/calpy/tinyhtml5/__pycache__/ |
Upload File : |
�
Υ=j� � � � d dl mZ d dlmZ d dlmZ ddlmZm Z m
Z
mZmZm
Z
mZmZmZ ddlmZ e ee� � � � Zd� Zd� Z G d � d
� � ZdS )� )�bisect_left)�deque)�html5� ) �EOF�Token�
ascii_letters�ascii_upper_to_lower�digits� hexdigits�replacement_characters�space_characters�tag_token_types)�HTMLInputStreamc � � | t v rdS t t | � � x}t t � � k rdS t | � | � � S )NTF)�entitiesr �entity_keys�len�
startswith��prefix�is �F/tmp/claude-1015/pip-target-jmvfl800/lib/python/tinyhtml5/tokenizer.py�has_keys_with_prefixr sO � �
�����t�
��f�
-�
-�-��#�h�-�-�?�?��u��q�>�$�$�V�,�,�,� c � � | t v r| S t dt | � � dz � � D ]!}| d | � t v r
| d | � c S �"t | � � �)Nr )r �ranger �KeyErrorr s r �longest_prefixr ss � �
�����
�
�1�c�&�k�k�A�o�
&�
&� � ���#�A�2�#�;�(�"�"��#�A�2�#�;���� #�
�6�
�
�r c �� � e Zd ZdZdOd�Zd� Zd� Zd� Zd� ZdPd �Z d
� Z
d� Zd� Zd
� Z
d� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd � Z d!� Z!d"� Z"d#� Z#d$� Z$d%� Z%d&� Z&d'� Z'd(� Z(d)� Z)d*� Z*d+� Z+d,� Z,d-� Z-d.� Z.d/� Z/d0� Z0d1� Z1d2� Z2d3� Z3d4� Z4d5� Z5d6� Z6d7� Z7d8� Z8d9� Z9d:� Z:d;� Z;d<� Z<d=� Z=d>� Z>d?� Z?d@� Z@dA� ZAdB� ZBdC� ZCdD� ZDdE� ZEdF� ZFdG� ZGdH� ZHdI� ZIdJ� ZJdK� ZKdL� ZLdM� ZMdN� ZNdS )Q�
HTMLTokenizerzHTML tokenizer.Nc �^ � t |fi |��| _ || _ | j | _ d | _ d S �N)r �stream�parser�
data_state�state�
current_token)�selfr$ r% �kwargss r �__init__zHTMLTokenizer.__init__) s9 � �%�f�7�7��7�7������ �_��
�!����r c # �b K � t � � | _ | � � � r�| j j r:t
j | j j � d� � d�V � | j j �:| j r"| j � � � V � | j �"| � � � ��dS dS )z�This is where the magic happens.
We do our usually processing through the states and when we have a token
to return we yield the token which pauses processing until the next token
is requested.
r ��type�dataN) r �token_queuer'