File: //usr/lib/python3/dist-packages/twisted/python/__pycache__/htmlizer.cpython-38.pyc
U
W[�
� @ s� d Z ddlmZmZ ddlZddlZddlmZ ddlm Z e G dd� d��Z
e G d d
� d
��ZG dd� de�Zefd
d�Z
dd� Zedkr�e� dS )z"
HTML rendering of Python source.
� )� _tokenize�escapeN� )�reflect)� _oldStylec @ s4 e Zd ZdZd\ZZd ZZdZdd� Z dd� Z
d S )
�TokenPrinterzU
Format a stream of tokens and intermediate whitespace, for pretty-printing.
)r r r �utf-8c C s
|| _ dS )zJ
@param writer: A file-like object, opened in bytes mode.
N)�writer)�selfr � r �9/usr/lib/python3/dist-packages/twisted/python/htmlizer.py�__init__ s zTokenPrinter.__init__c
C s( t td�r|tjkr|| _d S t|t�s4|�| j�}|\}}|\}} | j|k rp| �d|| j � |d | _| _ | �d|| j � | j
r�d}d| _n<|tjkr�t
�|�r�d}q�| jr�d}q�d }ntj�|��� }| �||� | | _ | j|�d�7 _| j|k�r
d| _ |d
k| _
|dk�r$d| _d S )N�ENCODING�
r � Z
identifierr �keywordZ parameterZvariable)s defs class� :)�hasattr�tokenizer �encoding�
isinstance�bytes�encode�currentLiner �
currentCol�lastIdentifier�
parameters�NAMEr � iskeyword�tok_name�get�lower�count)
r
�type�tokenZsCoordinatesZeCoordinates�lineZsrowZscolZerowZecolr r r �
printtoken! s:
zTokenPrinter.printtokenN)�__name__�
__module__�__qualname__�__doc__r r r r r r
r&