Ë
    ›¾jv  ã                   óô   — d dl mZ d dlmZ ddlmZmZ ddlmZm	Z	 ddl
mZmZ ddlmZ  e	j                  d	«       ed
d¬«       e ej                   «       ddd¬«      fdedefd„«       Zddœdededefd„Zy)é    )ÚPath)Úmsgé   )Úload_project_configÚloggeré   )ÚArgÚapp)ÚRemoteStorageÚget_command_hash)Úupdate_lockfileÚpullÚdefaultzName or path of remote storage)ÚhelpzELocation of project directory. Defaults to current working directory.TF)r   ÚexistsÚ	file_okayÚremoteÚproject_dirc                 óh   — t        || «      D ]#  \  }}|€Œ	t        j                  d|› d|› �«       Œ% y)ap  Retrieve available precomputed outputs from a remote storage.
    You can alias remotes in your project.yml by mapping them to storage paths.
    A storage can be anything that the smart_open library can upload to, e.g.
    AWS, Google Cloud Storage, SSH, local directories etc.

    DOCS: https://github.com/explosion/weasel/tree/main/docs/cli.md#arrow_down-push
    NzPulled z from )Úproject_pullr   Úgood)r   r   ÚurlÚoutput_paths       úY/home/spazio/kingdom_calls/work5/transenv/lib/python3.12/site-packages/weasel/cli/pull.pyÚproject_pull_clir      s=   € ô )¨°fÓ=ò 9Ñˆˆ[Ø‰?Ü�H‰H�w˜{˜m¨6°#°Ð7Õ8ñ9ó    )Úverboser   c             #   ó.  K  — t        | «      }||j                  di «      v r|d   |   }t        | |«      }t        |j                  dg «      «      }|�r6t	        t        |«      «      D �]  \  }}t        j                  d|d   «       |j                  dg «      D �cg c]  }| |z  ‘Œ	 }	}t        d„ |	D «       «      r¬t        dd|	|d   «      }
|j                  d	g «      D ]3  }|j                  ||
¬
«      }t        j                  d|||
«       ||f–— Œ5 |j                  d	g «      D �cg c]  }| |z  ‘Œ	 }}t        d„ |D «       «      rt        | |«       |j                  |«        nt        j                  d|d   «       �Œ y |r�Œ5y y c c}w c c}w ­w)NÚremotesÚcommandszCMD: %s.ÚnameÚdepsc              3   ó<   K  — | ]  }|j                  «       –— Œ y ­w©N©r   )Ú.0Údeps     r   ú	<genexpr>zproject_pull.<locals>.<genexpr>-   s   è ø€ Ò0 C�3—:‘:—<Ñ0ùó   ‚Ú ÚscriptÚoutputs)Úcommand_hashz#URL: %s for %s with command hash %sc              3   ó<   K  — | ]  }|j                  «       –— Œ y ­wr$   r%   )r&   Úlocs     r   r(   zproject_pull.<locals>.<genexpr>:   s   è ø€ Ò8¨�s—z‘z—|Ñ8ùr)   z(Dependency missing. Skipping %s outputs.)r   Úgetr   ÚlistÚ	enumerater   ÚdebugÚallr   r   r   Úpop)r   r   r   ÚconfigÚstorager    ÚiÚcmdr'   r"   Úcmd_hashr   r   ÚoutÚout_locss                  r   r   r      s”  è ø€ ô ! Ó-€FØ�—‘˜I rÓ*Ñ*Ø˜	Ñ" 6Ñ*ˆÜ˜K¨Ó0€GÜ�F—J‘J˜z¨2Ó.Ó/€Hò Ü¤ X£Ó/ó 	‰FˆAˆsÜ�L‰L˜ S¨¡[Ô1Ø14·±¸ÀÓ1DÖE¨#�K #Ó%ÐEˆDÐEÜÑ0¨4Ô0Ô0Ü+¨B°°D¸#¸h¹-ÓH�Ø#&§7¡7¨9°bÓ#9ò +�KØ!Ÿ,™, {À˜,ÓJ�CÜ—L‘LØ=ØØ#Ø ô	ð ˜{Ð*Ó*ð+ð :=¿¹ÀÈBÓ9OÖP°#˜K¨#Ó-ÐP�ÐPÜÑ8¨xÔ8Ô8Ü# K°Ô5ð —‘˜Q”Ùä—‘ÐGÈÈVÉÖUð/	ð4 õ7 ùò Fùò Qùs&   ‚BFÂFÂ(BFÄ)FÄ5AFÆ	FN)Úpathlibr   Úwasabir   Úutilr   r   Úmainr	   r
   Úremote_storager   r   Úrunr   ÚcommandÚcwdÚstrr   Úboolr   © r   r   ú<module>rH      sš   ðÝ å ç .ß ß ;Ý  ð €‡�ˆVÓñ �iÐ&FÔGÙ˜H˜DŸH™H›JÐ-tð  ~Bð  NSô  Tñ9àð9ð ò9ó ð9ð$ EJò &˜dð &¨Cð &¸Tô &r   