
    nd
                        d Z ddlZddlZddlZddlmZ ddlZddlm	Z	 ddl
mZ  ej        e          Z ej                    Zdej        d<    ed	d
h          ZeefdZefdZefdZedk    rYddlZ ej        ej                    eej        d          eej        d                                                              dS dS )ac  
Fetch metadata from remote .conda or .tar.bz2 package.

Try to fetch less than the whole file if possible.

This module should only be used to make *partial* reads against a remote
package, typically just the ``info`` portion. If a full ``.conda`` format
package is needed, it is more efficient to download locally first and then use
the file-based API.
    N)Path   )package_streaming)	LazyCondazconda-package-streaming/0.1.0z
User-Agentzinfo/index.jsonzinfo/recipe/meta.yamlc                     t          |          }t          | |          }|D ]T\  }}|j        |v r0|                    ||           |                    |j                   |s|                                 UdS )z
    Extract info/index.json and info/recipe/meta.yaml from url to destdir; close
    url as soon as those files are found.
    sessionN)setstream_conda_infonameextractremoveclose)urldestdir	checklistr	   streamtarmembers          ;lib/python3.11/site-packages/conda_package_streaming/url.pyextract_conda_infor   !   s    
 IIsG444F  V;)##KK(((V[))) 	LLNNN     c              #   T  K   t          | |          \  }}	 t          j        ||          E d{V  t          |d          r|                                 |                                 dS # t          |d          r|                                 |                                 w xY w)zi
    Yield (tar, member) for conda package at url

    Just "info/" for .conda, all members for tar.
    r   Nrelease_conn)conda_reader_for_urlr   r   hasattrr   r   )r   r	   filenamecondas       r   r   r   1   s       +3@@@OHe$6xGGGGGGGGG5.)) 	!    	 5.)) 	!    s   A- -:B'c                    t           j                            |           }|j                            dd          ^ }}|                    d          r>|dt          d                    }t          | |          }|                    |           nG|                    d          r"|	                    | dddi	          }|j
        }nt          d
|           ||fS )zF
    Return (name, file_like) suitable for package_streaming APIs
    /r   z.condaNz.tar.bz2T
Connectionr   )r   headerszUnsupported extension %s)urllibparseurlparsepathrsplitendswithlenr   prefetchgetraw
ValueError)r   r	   
parsed_url_r   file_idr   responses           r   r   r   C   s     &&s++J?))#q11LQ"" :+c(mm^+,#w''w			:	&	& :;;s4,9P;QQ3S999U?r   __main__)level   )__doc__loggingsysurllib.parser#   pathlibr   requests r   
lazy_wheelr   	getLogger__name__logSessionr	   r"   	frozensetMETADATA_CHECKLISTr   r   r   basicConfigDEBUGargvabsolute r   r   <module>rH      sv  	 	  



                  " ! ! ! ! !g!!
(


 ?  Y 13JKLL  0B7      $+    $ '.    $ zNNNGgm,,,,sx{DD!$5$5$>$>$@$@AAAAA	 r   