%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python3.6/site-packages/pyzor/__pycache__/
Upload File :
Create Path :
Current File : //lib/python3.6/site-packages/pyzor/__pycache__/digest.cpython-36.pyc

3

�2�^��@s�dZddlmZddlZddlZddlZddlZyddlZWnek
rZddl	j
ZYnXddgZejZ
ee
d�j��Zejddkr�ejd	�ej�e_Gd
d�dej�ZGdd
�d
e�ZGdd�de�ZdS)zHandle digesting the messages.�)�print_functionN���<���utf8c@s0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)�HTMLStripperzStrip all tags from the HTML.cCs$tjj|�|j�||_d|_dS)NT)�
HTMLParser�__init__�reset�	collector�collect)�selfr
�r�/usr/lib/python3.6/digest.pyrszHTMLStripper.__init__cCs"|j�}|r|jr|jj|�dS)zKeep track of the data.N)�striprr
�append)r�datarrr�handle_data"s
zHTMLStripper.handle_datacCs&tjj|||�|j�dkr"d|_dS)N�script�styleF)rr)r
�handle_starttag�lowerr)r�tagZattrsrrrr(szHTMLStripper.handle_starttagcCs$tjj||�|j�dkr d|_dS)NrrT)rr)r
�
handle_endtagrr)rrrrrr-szHTMLStripper.handle_endtagN)�__name__�
__module__�__qualname__�__doc__rrrrrrrrr	s
r	c@s�eZdZdZddgZdZdZejd�Z	ejdej
�Zejd�Zejd	�Z
d
Zddd
�Zdd�Zdd�Zdd�Zedd��Zedd��Zedd��Zedd��ZdS)�DataDigesterzThe major workhouse class.�value�digest��z\S+@\S+z
[a-z]+:\S+z\S{10,}z\s�Nc
Cs�|dkrt}d|_t�|_g}xf|j|�D]X}xR|j�D]F}|j|�}|j|�r8y|j|j	dd��Wq8t
k
r|w8Yq8Xq8Wq*Wt|�|jkr�|j
|�n|j||�|jj�|_t|j�tks�t�dS)Nr�ignore)�digest_specr!�HASHr"�digest_payloads�
splitlines�	normalize�should_handle_liner�encode�UnicodeError�len�atomic_num_lines�
handle_atomic�
handle_pieced�	hexdigest�	HASH_SIZE�AssertionError)r�msg�spec�lines�payload�lineZnormrrrrPs$

zDataDigester.__init__cCsx|D]}|j|�qWdS)zWe digest everything.N)�handle_line)rr8r:rrrr1js
zDataDigester.handle_atomicc
Cshxb|D]Z\}}xPt|�D]D}y |t|t|�d�|}Wntk
rPYqX|j|�qWqWdS)z#Digest stuff according to the spec.�dN)�range�intr/�
IndexErrorr;)rr8r7�offsetZlength�ir:rrrr2os zDataDigester.handle_piecedcCs|jj|j��dS)N)r"�update�rstrip)rr:rrrr;zszDataDigester.handle_linecCsN|jdd�}|j}|jj||�}|jj||�}|jj||�}|jjd|�j�S)N�r%)�replace�unwanted_txt_repl�longstr_ptrn�sub�
email_ptrn�url_ptrn�ws_ptrnr)�cls�s�replrrrr+}szDataDigester.normalizecCs@g}t|�}y|j|�Wnttjfk
r4YnXdj|�S)N� )r	Zfeed�UnicodeDecodeErrorr
ZHTMLParseError�join)rMrZstripperrrr�normalize_html_part�sz DataDigester.normalize_html_partcCst|�o|jt|�kS)N)r/�min_line_length)rLrMrrrr,�szDataDigester.should_handle_lineccs�x�|j�D]�}|j�dkr�|jdd�}|j�}|r>|jdd�}d}|sLd}n|j�jdd	�dkrdd}y|j||�}WnBttt	fk
r�y|jdd�}Wntk
r�w
YnXYnX|j
�dkr�|j|�Vq�|Vq
|j�r�q
|j�Vq
WdS)N�textT)�decoderDr%r&�ascii�_�-�quopri-codec�quopri�quoted-printable�quotedprintable�strictZhtml)rYrZr[r\)
�walkZget_content_maintypeZget_payloadZget_content_charsetrErrU�LookupErrorr.r5Zget_content_subtyperRZis_multipart)rLr6�partr9�charset�errorsrrrr)�s2zDataDigester.digest_payloads)N)rrrr�	__slots__rSr0�re�compilerI�
IGNORECASErJrGrKrFrr1r2r;�classmethodr+�staticmethodrRr,r)rrrrr 3s"



r cs eZdZdZ�fdd�Z�ZS)�PrintingDataDigesterz6Extends DataDigester: prints out what we're digesting.cs"t|jd��tt|�j|�dS)Nr)�printrU�superrir;)rr:)�	__class__rrr;�sz PrintingDataDigester.handle_line)rrrrr;�
__classcell__rr)rlrri�sri)rr)rr)rZ
__future__rrd�sys�codecsZhashlibr
�ImportErrorZhtml.parser�parserr'Zsha1r(r/r3r4�version_info�	getwriter�stdoutr	�objectr rirrrr�<module>s$

Zerion Mini Shell 1.0