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:
3

ÒƜe/#ã@sfddlZddlZddlZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
mZddlm
Z
ddlZddlZddlZyddlZWnek
r¬ddlZYnXddlmZyddlmZWn ek
rêddlmZYnXddlZejeƒZejj Z dZ!d	Z"d
gZ#ddgZ$d
dgZ%iZ&iZ'x’e%D]ŠZ(ge&e(<x8e$D]0Z)ej*e)de(iej+ej,BƒZ-e&e(j.e-ƒqDWge'e(<x8e#D]0Z)ej*e)de(iej+ej,BƒZ-e'e(j.e-ƒq†Wq2Wd3dd„Z/dd„Z0dd„Z1dd„Z2dd„Z3dd„Z4dd„Z5dd „Z6ej7ej7ej7d!fd"d#„Z8d4d%d&„Z9d'd(„Z:Gd)d*„d*e;ƒZ<d+d,„Z=ej>d-d.„ƒZ?d/d0„Z@d1d2„ZAdS)5éN)Úsleep)ÚProcess)Úprocessutils)Ústrutils)Úlogéz//iš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(dj|ƒ}t|tƒrŽxntD]P}||jƒkr8xt|D]}tj|||ƒ}qRWxt	|D]}tj|||ƒ}qrWq8Wnt|t
ƒr¢tj|ƒ|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)Úmessager	Zsubstitute1Zsubstitute2r
Úpattern©rú/usr/lib/python3.6/utils.pyÚsanitize_message;s





rcGs`y4t||d}|jƒ|jƒr2tdƒtj|dƒWn&tk
rZ}z
|‚WYdd}~XnXdS)N)ÚtargetÚargsé
)rÚstartZis_aliverÚosÚutimeÚ	Exception)ÚmethodÚprogress_tracking_file_pathrÚprocessÚexrrrÚrun_processLsr(c	Cs@tjtjtjƒ}tjtj|jƒdtjd|dd…ƒƒdd…ƒS)Ni‰Z256sééé)	ÚsocketZAF_INETZ
SOCK_DGRAMZ	inet_ntoaÚfcntlZioctlÚfilenoÚstructÚpack)ZifnameÚsrrrÚget_ip_addressYs
r2cCs<ddd„}tjƒ}|j|ƒ||ddƒ}|dk	r4|StjƒS)NcSs"|j||ƒr|j|||ƒSdSdS)N)Z
has_optionÚget)ÚcfgZSectionZOptionZKeyrrrÚget_config_valuecsz$get_lan_ip.<locals>.get_config_valueZDEFAULTZmy_ip)N)ÚConfigParserÚreadr,Zgethostname)Zconfig_filer5r4ZiprrrÚ
get_lan_ipbs

r8cCsTytj|ƒWn@tk
rN}z$|jtjkr<tjj|ƒs>‚n‚WYdd}~XnXdS)zeCreate a directory (and any ancestor directories required)

    :param path: Directory to create
    N)r!ÚmakedirsÚOSErrorÚerrnoZEEXISTÚpathÚisdir)r<ÚexcrrrÚensure_treersr?c
Cs&t|dƒtj|dƒWdQRXdS)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_files
rBcCs†tjd||fƒy$t|dƒ}|j|ƒWdQRXWnJtk
r€}z.tdƒt|dƒ}|j|ƒWdQRXWYdd}~XnXdS)Nzupdate_progress %s: %sr@r)ÚLOGÚinforAÚwriter#r)r%Zprogress_msgÚprogress_tracking_filer'rrrÚupdate_progresssrGcCshyt|dƒ
}|jƒSQRXWnDtk
rb}z(tdƒt|dƒ
}|jƒSQRXWYdd}~XnXdS)NÚrr)rAÚ	readlinesr#r)r%rFr'rrrÚget_progressšsrJFcCstj||||dd}|S)NF)ÚstdinÚstdoutÚstderrÚshell)Ú
subprocessÚPopen)ÚcmdrKrLrMrNr&rrrÚrun_cmd¥srRécCs¼yd}xB|jƒdkrH|dkr&||kr&Pt|ƒ|d7}|dk	rt|ƒqW|jjƒ|j}|rŽtjd|ƒtjd|t	|j
jƒdƒ|dœƒ|Stk
r¶}z
|‚WYdd}~XnXdS)Nrrz
Result was %sz7Execution error %(exit_code)d (%(stderr)s). cmd %(cmd)szutf-8)Z	exit_coderMrQ)
ZpollrrBrKÚcloseÚ
returncoderCÚerrorZ	exceptionrrMr7r#)r&rQZ
sleep_timeZno_of_countZ
progress_fileÚcountZ_returncoder'rrrÚpoll_process²s*
rXc
Ksîdd„}yº|jddƒ}|jddƒ}|jddƒ}|dkrb|tƒdddgƒdddd	||d
|g}n^|dkrÀ|jddƒ}|jd
dƒ}|tƒddddd
gƒdddd	|d|d
|d|d|g}|Stk
rè}	z
|	‚WYdd}	~	XnXdS)NcSs2x,|D]$}||dkrtd||dfƒ‚qWdS)Nz8Required parameter: %s for %s connection can not be NonerQ)r#)ÚlocalsÚkeysr
rrrÚ
_key_checkÒs

z!get_cmd_specs.<locals>._key_checkÚauthorized_keyÚuserÚhostZsshz-ozStrictHostKeyChecking=noz-iú@ZscpÚsource_pathÚ	dest_pathz-rú:z/*)r3rYr#)
rQÚkwargsr[r\r]r^Zcmdspecr`rar'rrrÚ
get_cmd_specsÑs<rdc@seZdZdd„ZdS)Úget_dummy_objectcKs|jj|ƒdS)N)Ú__dict__Úupdate)ÚselfrcrrrÚ__init__ÿszget_dummy_object.__init__N)Ú__name__Ú
__module__Ú__qualname__rirrrrreþsrecCs
|jdƒS)Nz%Y-%m-%dT%H:%M:%S.%f)Zstrftime)ZatrrrÚstrtimesrmcksz|jƒ}d|krtj|d<tjf|Ž}z
|VWdytj|ƒWn2tk
rr}ztj	t
dƒ|ƒWYdd}~XnXXdS)NÚdirzCould not remove tmpdir: %s)ÚcopyÚCONFÚtempdirÚtempfileZmkdtempÚshutilZrmtreer:rCrVZ_LE)rcZargdictZtmpdirÚerrrrqs

rqcCsZy4|jddƒjdƒd}||d…}tj|ƒddStk
rT}z|Sd}~XnXdS)zl
        Replaces single quote with double quotes.
        It Parses the Backing File and returns json.
    ú'ú"rbrNÚfileÚfilename)ÚreplaceÚfindÚjsonÚloadsr#)Zbacking_fileZjson_key_positionZbacking_file_contextr'rrrÚ"parse_encrypted_image_backing_filesr}cCsdy*|r(tjddtjd||ƒ\}}|s(dSWn4tk
r^}ztjdj|||ƒƒdSd}~XnXdS)z2 This utility method changes permission of device.Zsudoz
nova-rootwrapÚchmodTz+cannot change permission of {0} to {1}. {2}FN)rZexecuterpZrootwrap_configr#rCrDÚformat)ZdeviceZpermÚoutÚerrr'rrrÚchange_device_permission!s
r‚)r)rSrN)Br!r{r;r,r-r/rOrZtimerZmultiprocessingrZoslo_concurrencyrÚ
contextlibrrrsr6ÚImportErrorZconfigparserZ
oslo_utilsrZoslo_logrZloggingZnova.openstack.commonZcontego.confZcontegoZ	getLoggerrjrCZconfrpZ
URL_PREFIXZRWRWRWZ_FORMAT_PATTERNS_1Z_FORMAT_PATTERNS_2rrrr
rÚcompileÚDOTALLÚ
IGNORECASEZreg_exÚappendrr(r2r8r?rBrGrJÚPIPErRrXrdÚobjectrermÚcontextmanagerrqr}r‚rrrrÚ<module>s|





	

-