Ë
    ›¾jÌ
  ã                   óî   — 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mZ  e	j                  d«       ed	d
¬«       e ej                  «       ddd¬«      fdedefd„«       Zdedefd„Zdefd„Zy)é    )ÚPath)Úmsgé   )Úload_project_configÚloggeré   )ÚArgÚapp)ÚRemoteStorageÚget_command_hashÚget_content_hashÚpushÚdefaultzName or path of remote storage)ÚhelpzELocation of project directory. Defaults to current working directory.TF)r   ÚexistsÚ	file_okayÚremoteÚproject_dirc                 ó˜   — t        || «      D ];  \  }}|€t        j                  d|› �«       Œ!t        j                  d|› d|› �«       Œ= y)aU  Persist outputs to 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_up-push
    Nz	Skipping zPushed z to )Úproject_pushr   ÚinfoÚgood)r   r   Úoutput_pathÚurls       úY/home/spazio/kingdom_calls/work5/transenv/lib/python3.12/site-packages/weasel/cli/push.pyÚproject_push_clir   
   sP   € ô )¨°fÓ=ò 7Ñˆ�SØˆ;Ü�H‰H�y  Ð.Õ/ä�H‰H�w˜{˜m¨4°¨uÐ5Õ6ñ	7ó    c           
   #   óþ  K  — t        | «      }||j                  di «      v r|d   |   }t        | |«      }|j                  dg «      D �]&  }t        j                  d|d   «       |j                  dg «      D �cg c]  }| |z  ‘Œ	 }}t        d„ |D «       «      rt        j                  d|d   «       Œkt        dd|j                  dg «      D �cg c]  }| |z  ‘Œ	 c}|d	   «      }t        j                  d
|«       |j                  dg «      D ]_  }| |z  }	|	j                  «       sŒt        |	«      sŒ%|j                  ||t        |	«      ¬«      }
t        j                  d|
||«       ||
f–— Œa �Œ) yc c}w c c}w ­w)zìPersist outputs to 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. gcs, aws, ssh, local directories etc
    ÚremotesÚcommandszCMD: %sÚnameÚdepsc              3   ó>   K  — | ]  }|j                  «        –— Œ y ­w©N)r   )Ú.0Údeps     r   ú	<genexpr>zproject_push.<locals>.<genexpr>+   s   è ø€ Ò0 C�3—:‘:“<ÔÑ0ùs   ‚z'Dependency missing. Skipping %s outputsÚ ÚscriptzCMD_HASH: %sÚoutputs)Úcommand_hashÚcontent_hashz&URL: %s for output %s with cmd_hash %sN)r   Úgetr   r   ÚdebugÚanyr   r   Ú_is_not_empty_dirr   r   )r   r   ÚconfigÚstorageÚcmdr&   r"   Úcmd_hashr   Ú
output_locr   s              r   r   r      s|  è ø€ ô
 ! Ó-€FØ�—‘˜I rÓ*Ñ*Ø˜	Ñ" 6Ñ*ˆÜ˜K¨Ó0€GØ�z‰z˜* bÓ)ó 'ˆÜ�‰�Y  F¡Ô,Ø-0¯W©W°V¸RÓ-@ÖA c�˜cÓ!ÐAˆÐAÜÑ0¨4Ô0Ô0Ü�L‰LÐBÀCÈÁKÔPØÜ#Ø�°#·'±'¸&À"Ó2EÖF¨3�[ 3Ó&ÒFÈÈHÉó
ˆô 	�‰�^ XÔ.ØŸ7™7 9¨bÓ1ò 	'ˆKØ$ {Ñ2ˆJØ× Ñ Õ"Ô'8¸Õ'DØ—l‘lØØ!)Ü!1°*Ó!=ð #ó �ô
 —‘Ø<¸cÀ;ÐPXôð " 3Ð&Ó&ò	'ñ'ùâAùò
 Gùs-   ‚A7E=Á9E3ÂA	E=ÃE8ÃAE=Ä&E=Ä2AE=Úlocc                 óh   — | j                  «       syt        d„ | j                  «       D «       «      ryy)NTc              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr$   )r0   )r%   Úchilds     r   r'   z$_is_not_empty_dir.<locals>.<genexpr>C   s   è ø€ ÒA¨%Ô˜u×%ÑAùs   ‚F)Úis_dirr/   Úiterdir)r6   s    r   r0   r0   @   s(   € Ø�:‰:Œ<ØÜ	ÑA°3·;±;³=ÔAÔ	AØàr   N)Úpathlibr   Úwasabir   Úutilr   r   Úmainr	   r
   Úremote_storager   r   r   ÚcommandÚcwdÚstrr   r   r0   © r   r   ú<module>rE      s™   ðÝ å ç .ß ß MÑ Mð €‡�ˆVÓñ �iÐ&FÔGÙ˜H˜DŸH™H›JÐ-tð  ~Bð  NSô  Tñ7àð7ð ò7ó ð7ð('˜dð '¨Có 'ðB˜4ô r   