a µ°†jPã@sªddlmZmZmZeZddlZddlZddlm Z m Z ddl Z ddl m ZddlmZddlmZddlmZddlmZddlmZmZeƒZdd d „Zddd„ZdS)é)Úabsolute_importÚdivisionÚprint_functionN)ÚPopenÚPIPE)Úcontext)Ú AnsibleError)ÚDisplay)Ú get_bin_path)Úto_textÚ to_nativeÚHEADcCst|d||dd�S)NÚgitF)ÚscmÚnameÚversionÚ keep_scm_meta)Úscm_archive_resource)Úsrcrr©rú8/usr/lib/python3.9/site-packages/ansible/utils/galaxy.pyÚscm_archive_collection&srrFc Csdd„}|dvrtd|ƒ‚z t|ƒ}Wn(tttfyPtd||fƒ‚Yn0tjtjd�}|dg}t j d} | r |d krŽ|  d d g¡n|d kr |  d ¡|  d||g¡|||ƒ|d krè|rè|dt |ƒg} || tj ||¡ƒtjddtjd�} d} |�rdt d||| jf¡t | jd¡�(} | jtj ||¡|d�Wdƒn1�sX0Ynx|d k�r |ddd|g} |�r’|   d|g¡|   | j¡n<|d k�rÜ|dd|d| jg} |�rÒ|   |¡n |   d¡| du�rt d| ¡|| tj ||¡ƒ| jS)Nc Ss¨z(d}d}t||ttd�}| ¡\}}WnPtyx}z8d |¡}t d|¡td|t|ƒfƒ‚WYd}~n d}~00|j dkr¤tdd |¡||j t|ƒfƒ‚dS)NÚ)ÚcwdÚstdoutÚstderrú zran %s:zwhen executing %s: %srz0- command %s failed in directory %s (rc=%s) - %s) rrZ communicateÚ ExceptionÚjoinÚdisplayÚdebugrr Ú returncode)ÚcmdÚtempdirrrÚpopenÚeZranrrrÚ run_scm_cmd,s * z)scm_archive_resource..run_scm_cmd)Úhgrz#- scm %s is not currently supportedzDcould not find/use %s, it is required to continue with installing %s)ÚdirZcloneÚ ignore_certsrz-czhttp.sslVerify=falser'z --insecurez--ZcheckoutFz.tar)ÚdeleteÚsuffixr(ztarring %s from %s to %sÚw)ZarcnameÚarchivez--prefixz%s/z-rz --prefix=%s/z --output=%sr z archiving %s)rr Ú ValueErrorÚOSErrorÚIOErrorÚtempfileZmkdtempÚCZDEFAULT_LOCAL_TMPrZCLIARGSÚextendÚappendr ÚosÚpathrZNamedTemporaryFilerZvvvrÚtarfileÚopenÚadd)rrrrrr&Zscm_pathr#Z clone_cmdr)Z checkout_cmdZ temp_fileZ archive_cmdÚtarrrrr*sP       :     r)Nr )rNr F)Z __future__rrrÚtypeZ __metaclass__r5r1Ú subprocessrrr7Zansible.constantsZ constantsr2ZansiblerZansible.errorsrZansible.utils.displayr Z#ansible.module_utils.common.processr Z+ansible.module_utils.common.text.convertersr r rrrrrrrÚs