
    ihi
                     D   d dl Z d dlZ	 d dlZd dlZ	 d dlZd dlmZmZ  ej                  ee       dZ		 e j                  d   dk(  re j                  j                         Zn# ee j                  d         j                         Z ee j                        dk\  r ee j                  d         Z	 ej                         ZeD ]H  Zej)                         Zered    d	k(  rd
 eej                        dz   z  Zej-                  eef       J ej                  sJ d        eej                        Z ee	e      Z	de	cxk  rdk  sJ d        J d        edej2                  ej4                  fz          edede	d        G d dej6                        Zg Z ee	      D ]+  Z ee      Z e jC                          ejE                  e        - eD ]  Z#e#jI                           y# e$ r d dlZY w xY w# e$ r Y w xY w#   ede j                  d    z         exY w)    N)SIGPIPESIG_IGN
      -      zCUsage: %s <file with URLs to fetch> [<# of concurrent connections>]#zdoc_%03d.datzno URLs giveni'  z(invalid number of concurrent connectionsz!PycURL %s (compiled against 0x%x)z----- Gettingz
URLs usingzconnections -----c                       e Zd Zd Zd Zy)WorkerThreadc                 P    t         j                  j                  |        || _        y )N)	threadingThread__init__queue)selfr   s     ~/var/www/pru.catia.catastroantioquia-mas.com/tasa/lib/python3.12/site-packages/../../../share/doc/pycurl/examples/retriever.pyr   zWorkerThread.__init__>   s    !!$'
    c                    	 	 | j                   j                         \  }}t        |d      }t        j                         }|j                  t        j                  |       |j                  t        j                  d       |j                  t        j                  d       |j                  t        j                  d       |j                  t        j                  d       |j                  t        j                  d       |j                  t        j                  |       	 |j!                          |j-                          |j-                          t&        j.                  j1                  d       t&        j.                  j+                          # t        j                  $ r t        w xY w#  dd l}|j%                  t&        j(                         t&        j(                  j+                          Y xY w)	Nr   wb      i,  r   )file.)r   
get_nowaitQueueEmpty
SystemExitopenpycurlCurlsetoptURLFOLLOWLOCATION	MAXREDIRSCONNECTTIMEOUTTIMEOUTNOSIGNAL	WRITEDATAperform	traceback	print_excsysstderrflushclosestdoutwrite)r   urlfilenamefpcurlr+   s         r   runzWorkerThread.runB   sQ   ! $

 5 5 7X h%B;;=DKK

C(KK--q1KK((!,KK--r2KK,KK+KK(("-#
 JJLHHJJJS!JJ/  ;; !  !# ###4

  "s   F !F- F*-AG3N)__name__
__module____qualname__r   r7    r   r   r   r   =   s    r   r   )%r-   r   r   ImportErrorr   r    signalr   r   num_connargvstdin	readlinesurlsr   lenintprintr   r3   stripr4   putnum_urlsminversionCOMPILE_LIBCURL_VERSION_NUMr   r   threadsrangedummytstartappendthreadjoinr;   r   r   <module>rT      s5    $' FMM'7# 	
xx{cyy""$CHHQK **,
388}sxx{# 	 C
))+C#a&C-U[[!1A!56H	IIsHo {{ #O #{u{{x"H II I II I )V^^V=_=_,`` a oxx9L M9## B 8_ EUAGGINN1  F
KKMs    			
ORURZRZ[\R]
]^
s.   G' G7 A:H '	G43G47H ?H H