o
    j                     @   s   d dl Z d dlZd dlZd dlZd dlZG dd de jZG dd dZG dd deZG dd	 d	eZ	G d
d deZ
G dd deZG dd deZG dd deZG dd deZdS )    Nc                   @   s(   e Zd ZdZdZdZdZdZdZdZ	dS )	ScannerResultTypeSTARTEDERRORDATAPROGRESSFINISHEDINFO
TARGETDONEN)
__name__
__module____qualname__r   r   r   r   r   r   r	    r   r   /root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/asysocks/unicomm/common/scanner/common.pyr      s    r   c                   @   s(   e Zd Zd	ddZdd Zd
ddZdS )ScannerResultNc                 K   s    || _ t|| _|| _|| _d S N)typestrresiddatakwargs)selfr   r   r   r   r   r   r   __init__   s   

zScannerResult.__init__c                 C   s   || j v r
| j | S d S r   )r   )r   keyr   r   r   get_extra_info   s   

zScannerResult.get_extra_info	c                 C   s   t  r   )NotImplementedErrorr   	separatorr   r   r   to_line   s   zScannerResult.to_liner   r   )r
   r   r   r   r   r   r   r   r   r   r      s    
r   c                   @      e Zd Zdd ZdddZdS )ScannerStartedc                 C      t | tj| d S r   )r   r   r   r   r   scannernamer   r   r   r       
   zScannerStarted.__init__r   c                 C      | dd| j gS )Nr   %sjoinr   r   r   r   r   r   &      zScannerStarted.to_lineNr   r
   r   r   r   r   r   r   r   r   r!          r!   c                   @   r    )ScannerFinishedc                 C   r"   r   )r   r   r   r   r#   r   r   r   r   *   r%   zScannerFinished.__init__r   c                 C   r&   )Nr   r'   r(   r   r   r   r   r   0   r*   zScannerFinished.to_lineNr   r+   r   r   r   r   r-   )   r,   r-   c                   @   s&   e Zd Zdd Zd	ddZdd ZdS )
ScannerErrorc                 C   s@   t | tj|| d | _t|tdu r|j| _t|| _	d S d S )NT)
r   r   r   r   	traceback
isinstance	Exception__traceback__reprr   )r   r   errorr   r   r   r   4   s   zScannerError.__init__r   c                 C      | dt| jt| jgS )Nr   )r)   r   r   r   r   r   r   r   r   @      zScannerError.to_linec                 C   s    | j d urdt | j S d S )N )r/   r)   	format_tbr   r   r   r   to_tracebackC   s   
zScannerError.to_tracebackNr   )r
   r   r   r   r   r:   r   r   r   r   r.   3   s    
r.   c                   @   sN   e Zd Zdd Zdd Zdd Zdd Zd	d
 ZdddZdd Z	dd Z
dS )ScannerDatac                 K   s    t j| tj|fd|i| d S )Nr   )r   r   r   r   )r   r   r   r   r   r   r   r   H   s   
zScannerData.__init__c                 C   s(   z| j  W S    tt| j j Y S r   )r   get_namer   r   r
   r9   r   r   r   r<   Q   s   zScannerData.get_namec                 C   s:   z| j  W S    dtd tj df  Y S )Nzscandata_%s_%s.bin   z%Y%m%d_%H%M%S)r   	get_fnameosurandomhexdatetimenowstrftimer9   r   r   r   r>   W   s   &zScannerData.get_fnamec                 C   s   z| j  W S    Y d S r   )r   	get_fdatar9   r   r   r   rE   ]   s   zScannerData.get_fdatac                 C   s"   z| j  W S    t| j  Y S r   )r   r   r   r9   r   r   r   __flatten_datac   s   zScannerData.__flatten_datar   c                 C   s<   d}|   dD ]}| }||t| j|g7 }q	|S )Nr7   
)_ScannerData__flatten_datasplitstripr)   r   r   r   r   resliner   r   r   r   i   s
   zScannerData.to_linec                 C   sL   z| j tt| jj| j dW S    | j tt| jj|  d Y S )N)r   restyper   )r   r   r   r   r
   to_dictrH   r9   r   r   r   rO   q   s   
zScannerData.to_dictc                 C   s   t |  S r   )jsondumpsrO   r9   r   r   r   to_json   s   zScannerData.to_jsonNr   )r
   r   r   r   r<   r>   rE   rH   r   rO   rR   r   r   r   r   r;   G   s    	
r;   c                   @   s&   e Zd Zdd Zdd Zd	ddZdS )
ScannerProgressc                 C   s    t | tj| || _|| _d S r   )r   r   r   r   totalcurrent)r   r$   rT   rU   r   r   r   r      s   
zScannerProgress.__init__c                 C   s(   | j d u s
| j dkrdS | j| j  d S )Nr   xd   )rT   rU   r9   r   r   r   
to_percent   s   zScannerProgress.to_percentr   c                 C   s    | dd| j| j|  f gS )Nr   z%s\%s (%s%%))r)   rT   rU   rX   r   r   r   r   r      s    zScannerProgress.to_lineNr   )r
   r   r   r   rX   r   r   r   r   r   rS      s    	rS   c                   @   r    )ScannerInfoc                 C   s   t | tj|| d S r   )r   r   r   r   )r   r   infor   r   r   r      s   zScannerInfo.__init__r   c                 C   sD   d}t | jdD ]}| }||dt | j|gd 7 }q
|S )Nr7   rG   r   z
)r   r   rI   rJ   r)   r   rK   r   r   r   r      s
    zScannerInfo.to_lineNr   r+   r   r   r   r   rY          rY   c                   @   r    )ScannerTargetDonec                 C   s   t | tj| || _d S r   )r   r   r   r	   target)r   r   r]   r   r   r   r      s   
zScannerTargetDone.__init__r   c                 C   r5   )Nr	   )r)   r   r   r]   r   r   r   r   r      r6   zScannerTargetDone.to_lineNr   r+   r   r   r   r   r\      r[   r\   )enumr?   rB   r/   rP   Enumr   r   r!   r-   r.   r;   rS   rY   r\   r   r   r   r   <module>   s    	

;