Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
a

«„eª ã@s>ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
mZddlZddl
Z
ddlZzddlZWneyžddlZYn0ddlmZzddlmZWneyÚddlmZYn0ddlZe e¡ZejjZdZdgZ d	d
gZ!ddgZ"iZ#iZ$e"D]‚Z%ge#e%<e!D]0Z&e 'e&d
e%iej(ej)B¡Z*e#e% +e*¡q,ge$e%<e D]0Z&e 'e&d
e%iej(ej)B¡Z*e$e% +e*¡qjqd/dd„Z,dd„Z-dd„Z.dd„Z/dd„Z0dd„Z1dd„Z2dd„Z3ej4ej4ej4dfd d!„Z5d0d#d$„Z6d%d&„Z7Gd'd(„d(e8ƒZ9d)d*„Z:ej;d+d,„ƒZ<d-d.„Z=dS)1éN)Úsleep)ÚProcess)Ústrutils)Úlogéz//z$(%(key)s[0-9]*\s*[=]\s*)[^\s^\'^\"]+z.(%(key)s[0-9]*\s*[=]\s*[\"\'])[^\"\']*([\"\'])z-([-]{2}%(key)s[0-9]*\s+)[^\'^\"^=^\s]+([\s]*)ÚdataÚsecretÚkeyú***cCsšd|}d|d}t|tƒr(d |¡}t|tƒr‚tD]H}|| ¡vr6t|D]}t |||¡}qNt	|D]}t |||¡}qjq6nt|t
ƒr–t |¡|S)Nz\g<1>z\g<2>ú )
Ú
isinstanceÚlistÚjoinÚstrÚ_SANITIZE_KEYSÚlowerÚ_SANITIZE_PATTERNS_2ÚreÚsubÚ_SANITIZE_PATTERNS_1ÚdictrZmask_dict_password)ÚmessagerZsubstitute1Zsubstitute2r	Úpattern©rú1/usr/lib/python3.9/site-packages/contego/utils.pyÚsanitize_message9s




rc
Gsbz4t||d}| ¡| ¡r2tdƒt |d¡Wn(ty\}z|‚WYd}~n
d}~00dS)N)ÚtargetÚargsé
)rÚstartÚis_aliverÚosÚutimeÚ	Exception)ÚmethodÚprogress_tracking_file_pathrÚprocessÚexrrrÚrun_processJsr(cCs@t tjtj¡}t t | ¡dt d|dd…¡¡dd…¡S)Ni‰Z256sééé)	ÚsocketZAF_INETZ
SOCK_DGRAMZ	inet_ntoaÚfcntlZioctlÚfilenoÚstructÚpack)ZifnameÚsrrrÚget_ip_addressWsÿþÿr2cCs<ddd„}t ¡}| |¡||ddƒ}|dur4|St ¡S)NcSs"| ||¡r| |||¡SdSdS©N)Z
has_optionÚget)ÚcfgZSectionZOptionZKeyrrrÚget_config_valueasz$get_lan_ip.<locals>.get_config_valueZDEFAULTZmy_ip)N)ÚConfigParserÚreadr,Zgethostname)Zconfig_filer6r5ZiprrrÚ
get_lan_ip`s

r9c
CsVzt |¡WnBtyP}z*|jtjkr:tj |¡s<‚n‚WYd}~n
d}~00dS)zeCreate a directory (and any ancestor directories required)

    :param path: Directory to create
    N)r!ÚmakedirsÚOSErrorÚerrnoZEEXISTÚpathÚisdir)r=ÚexcrrrÚensure_treepsr@cCs:t|dƒt |d¡Wdƒn1s,0YdS)zy Utility to simulate the filesystem "touch" command.

    Args:
        file_path (str): Path to file to be touched.
    ÚaN)Úopenr!r")Z	file_pathrrrÚ
touch_files
rCcCs°t d||f¡z8t|dƒ}| |¡Wdƒn1s>0YWn`tyª}zHtdƒt|dƒ}| |¡Wdƒn1sŒ0YWYd}~n
d}~00dS)Nzupdate_progress %s: %srAr)ÚLOGÚinforBÚwriter#r)r%Zprogress_msgÚprogress_tracking_filer'rrrÚupdate_progresss,rHcCs¨z8t|dƒ}| ¡WdƒWS1s,0YWnjty¢}zRtdƒt|dƒ$}| ¡WdƒWYd}~S1s„0YWYd}~n
d}~00dS)NÚrr)rBÚ	readlinesr#r)r%rGr'rrrÚget_progress˜s,rKFcCstj||||dd}|S)NF)ÚstdinÚstdoutÚstderrÚshell)Ú
subprocessÚPopen)ÚcmdrLrMrNrOr&rrrÚrun_cmd£s
ÿrSéc
Cs¼zŽd}| ¡durF|dkr$||kr$qFt|ƒ|d7}|durt|ƒq|j ¡|j}|rŠt d|¡t d|t	|j
 ¡dƒ|dœ¡|WSty¶}z|‚WYd}~n
d}~00dS)Nrrz
Result was %sz7Execution error %(exit_code)d (%(stderr)s). cmd %(cmd)szutf-8)Z	exit_coderNrR)
ZpollrrCrLÚcloseÚ
returncoderDÚerrorÚ	exceptionrrNr8r#)r&rRZ
sleep_timeZno_of_countZ
progress_fileÚcountZ_returncoder'rrrÚpoll_process°s0

ýþÿ	rZc

Ksêdd„}z´| dd¡}| dd¡}| dd¡}|dkr`|tƒgd¢ƒddd	d
||d|g}nX|dkr¸| d
d¡}| dd¡}|tƒgd¢ƒddd	d
|d|d|d|d|g}|WStyä}	z|	‚WYd}	~	n
d}	~	00dS)NcSs.|D]$}||durtd||dfƒ‚qdS)Nz8Required parameter: %s for %s connection can not be NonerR)r#)ÚlocalsÚkeysr	rrrÚ
_key_checkÐs
ÿÿz!get_cmd_specs.<locals>._key_checkÚauthorized_keyÚuserÚhostZssh)r^r_r`z-ozStrictHostKeyChecking=noz-iú@ZscpÚsource_pathÚ	dest_path)r^r_r`rbrcz-rú:z/*)r4r[r#)
rRÚkwargsr]r^r_r`Zcmdspecrbrcr'rrrÚ
get_cmd_specsÏsB
úþø
rfc@seZdZdd„ZdS)Úget_dummy_objectcKs|j |¡dSr3)Ú__dict__Úupdate)ÚselfrerrrÚ__init__ýszget_dummy_object.__init__N)Ú__name__Ú
__module__Ú__qualname__rkrrrrrgüsrgcCs
| d¡S)Nz%Y-%m-%dT%H:%M:%S.%f)Ústrftime)ZatrrrÚstrtimesrpcksÄ| ¡}d|vrtj|d<tjfi|¤Ž}zN|VWzt |¡WqÀtyv}zt 	t
dƒ|¡WYd}~qÀd}~00nFzt |¡Wn4ty¼}zt 	t
dƒ|¡WYd}~n
d}~000dS)NÚdirzCould not remove tmpdir: %s)ÚcopyÚCONFÚtempdirÚtempfileZmkdtempÚshutilÚrmtreer;rDrWZ_LE)reZargdictZtmpdirÚerrrrts
(ýrtc
Csdz6| dd¡ d¡d}||d…}t |¡ddWSty^}z|WYd}~Sd}~00dS)zl
        Replaces single quote with double quotes.
        It Parses the Backing File and returns json.
    ú'ú"rdrNÚfileÚfilename)ÚreplaceÚfindÚjsonÚloadsr#)Zbacking_fileZjson_key_positionZbacking_file_contextr'rrrÚ"parse_encrypted_image_backing_filesr)r
)rTrN)>r!rr<r,r-r/rPrÚtimerZmultiprocessingrÚ
contextlibrurvr7ÚImportErrorZconfigparserZ
oslo_utilsrZoslo_logrZloggingZnova.openstack.commonZcontego.confZcontegoZ	getLoggerrlrDZconfrsZ
URL_PREFIXZ_FORMAT_PATTERNS_1Z_FORMAT_PATTERNS_2rrrr	rÚcompileÚDOTALLÚ
IGNORECASEZreg_exÚappendrr(r2r9r@rCrHrKÚPIPErSrZrfÚobjectrgrpÚcontextmanagerrtrrrrrÚ<module>s|
ÿ

	
û

-