
    }-j                         d dl Z d dlmZ ddlmZmZmZmZ ddlm	Z	m
Z
mZ ddlmZmZmZmZmZmZ dZdZd	Zd
Z G d d          ZdededefdZdededefdZdS )    N)Any   )job_status_from_dataparse_batch_statusvalidate_result_json_urlvalidate_state)JobFailedErrorPollTimeoutErrorResultParseError)BatchStatusDocParsingPageDocParsingResult	JobStatusOCRPage	OCRResultg      @g      ?g      .@g     @c            	       `    e Zd ZeeeefdedededefdZde	de
fdZde	defd	Zd
e	defdZdS )Pollerinitial_interval
multipliermax_intervalmax_wait_timec                 L    || _         || _        || _        || _        || _        d S N)_http_initial_interval_multiplier_max_interval_max_wait_time)selfhttp_clientr   r   r   r   s         ]/var/www/html/banglarbhumi/venv/lib/python3.11/site-packages/paddleocr/_api_client/_poller.py__init__zPoller.__init__-   s1     !
!1%)+    job_idreturnc                    | j         }t          j                    }|| j        z   }	 t          j                    }||k    rt	          |||z
            | j                            |          }t          |          }|dk    r-t          |          }| j        	                    |          }	|	|fS |dk    r&|
                    dd          }
t          ||
          |t          j                    z
  }|dk    r$t	          |t          j                    |z
            t          j        t          ||                     t          || j        z  | j                  }5)NTdonefailederrorMsgzUnknown errorr   )r   time	monotonicr   r
   r   get_job_statusr   r   fetch_jsonlgetr	   sleepminr   r   )r   r$   intervalstartdeadlinenowdatastatejson_url
jsonl_data	error_msg	remainings               r!   poll_until_donezPoller.poll_until_done;   sL   )  4..	L.""Ch&vsU{;;;:,,V44D"4((E3D99!Z33H==
!4''   HHZAA	$VY777 4>#3#33IA~~&vt~/?/?%/GHHHJs8Y//0008d&668JKKH-	Lr#   c                 V    | j                             |          }t          ||          S r   )r   r,   r   )r   r$   r5   s      r!   
get_statuszPoller.get_statusX   s'    z((00#FD111r#   batch_idc                 V    | j                             |          }t          ||          S r   )r   get_batch_statusr   )r   r>   r5   s      r!   r@   zPoller.get_batch_status\   s'    z**844!(D111r#   N)__name__
__module____qualname__DEFAULT_INITIAL_INTERVALDEFAULT_MULTIPLIERDEFAULT_MAX_INTERVALDEFAULT_MAX_WAIT_TIMEfloatr"   strr   r;   r   r=   r   r@    r#   r!   r   r   ,   s         #;.24, ,  , 	,
 , , , , ,Lc Lc L L L L:2 2 2 2 2 22 2 2 2 2 2 2 2r#   r   r$   r8   r%   c           
      ,   	 g }|D ]R}|d         }|d         D ]?}|                     t          |d         |                    d                               @St          | |          S # t          t
          f$ r}t          d|           |d }~ww xY w)Nresult
ocrResultsprunedResultocrImage)pruned_resultocr_image_urlr$   pageszMalformed OCR result payload: )appendr   r.   r   KeyError	TypeErrorr   )r$   r8   rS   line_objrL   itemes          r!   parse_ocr_resultrZ   a   s    L" 	 	Hh'F|,  &*>&:&*hhz&:&:      e4444i  L L LCCCDD!KLs   A'A* *B;BBc                 h   	 g }|D ]p}|d         }|d         D ]]}|d         }|                     t          |d         |                    di           |                    di                                ^qt          | |          S # t          t
          f$ r}t          d	|           |d }~ww xY w)
NrL   layoutParsingResultsmarkdowntextimagesoutputImages)markdown_textmarkdown_imagesoutput_imagesrR   z+Malformed document parsing result payload: )rT   r   r.   r   rU   rV   r   )r$   r8   rS   rW   rL   rX   r]   rY   s           r!   parse_doc_parsing_resultrd   r   s    Y" 
	 
	Hh'F56  
+"&.v&6(0Xr(B(B&*hh~r&B&B       vU;;;;i  Y Y YPQPPQQWXXYs   BB B1B,,B1)r*   typingr   _corer   r   r   r   errorsr	   r
   r   resultsr   r   r   r   r   r   rD   rE   rF   rG   r   rI   listrZ   rd   rJ   r#   r!   <module>rj      s                             
                    22 22 22 22 22 22 22 22jLS Ld Ly L L L L"YS Yd Y?O Y Y Y Y Y Yr#   