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:
ó
Á}ac@séddlZddlZddlZddlZddlZddlZddlZddlZddlmZddl	m
Z
ddlZddlZddl
Z
yddlZWnek
rÓddlZnXyddlmZWn!ek
rddlmZnXddlZejeƒZejjZd„Zd„Zd„Zd	„Zd
„Z d„Z!d„Z"ej#ej#ej#e$d
„Z%dddd„Z'd„Z(de)fd„ƒYZ*d„Z+ej,d„ƒZ-d„Z.dS(iÿÿÿÿN(tsleep(tProcess(tlogicGslyLtd|d|ƒ}|jƒ|jƒrKtdƒtj|dƒnWntk
rg}|‚nXdS(Nttargettargsi
(Rtstarttis_aliveRtostutimetNonet	Exception(tmethodtprogress_tracking_file_pathRtprocesstex((s1/usr/lib/python2.7/dist-packages/contego/utils.pytrun_process!s

cCsQtjtjtjƒ}tjtj|jƒdtjd|d ƒƒdd!ƒS(Ni‰t256siii(	tsockettAF_INETt
SOCK_DGRAMt	inet_ntoatfcntltioctltfilenotstructtpack(tifnamets((s1/usr/lib/python2.7/dist-packages/contego/utils.pytget_ip_address.s
"cCsQdd„}tjƒ}|j|ƒ||ddƒ}|dk	rG|StjƒS(NcSs-|j||ƒr%|j|||ƒSdSdS(N(t
has_optiontgetR	(tcfgtSectiontOptiontKey((s1/usr/lib/python2.7/dist-packages/contego/utils.pytget_config_value8stDEFAULTtmy_ip(R	tConfigParsertreadRtgethostname(tconfig_fileR#Rtip((s1/usr/lib/python2.7/dist-packages/contego/utils.pyt
get_lan_ip7s
cCs[ytj|ƒWnCtk
rV}|jtjkrPtjj|ƒsS‚qSqW‚nXdS(seCreate a directory (and any ancestor directories required)

    :param path: Directory to create
    N(RtmakedirstOSErrorterrnotEEXISTtpathtisdir(R0texc((s1/usr/lib/python2.7/dist-packages/contego/utils.pytensure_treeGs	cCs*t|dƒtj|dƒWdQXdS(sy Utility to simulate the filesystem "touch" command.

    Args:
        file_path (str): Path to file to be touched.
    taN(topenRRR	(t	file_path((s1/usr/lib/python2.7/dist-packages/contego/utils.pyt
touch_fileVs
cCs‰tjd||fƒy)t|dƒ}|j|ƒWdQXWnBtk
r„}tdƒt|dƒ}|j|ƒWdQXnXdS(Nsupdate_progress %s: %sR4i
(tLOGtinfoR5twriteR
R(Rtprogress_msgtprogress_tracking_fileR((s1/usr/lib/python2.7/dist-packages/contego/utils.pytupdate_progressds
cCsly&t|dƒ}|jƒSWdQXWn?tk
rg}tdƒt|dƒ}|jƒSWdQXnXdS(Ntri
(R5t	readlinesR
R(RR<R((s1/usr/lib/python2.7/dist-packages/contego/utils.pytget_progressos
c
Cs+tj|d|d|d|dtƒ}|S(Ntstdintstdouttstderrtshell(t
subprocesstPopentFalse(tcmdRARBRCRDR
((s1/usr/lib/python2.7/dist-packages/contego/utils.pytrun_cmdzs!iicCsøyØd}x_|jƒdkrj|dkr:||kr:Pnt|ƒ|d7}|dk	rt|ƒqqW|jjƒ|j}|rÓtjd|ƒtj	di|d6t
|jjƒdƒd6|d6ƒn|SWnt
k
ró}|‚nXdS(	Niis
Result was %ss7Execution error %(exit_code)d (%(stderr)s). cmd %(cmd)st	exit_codesutf-8RCRH(tpollR	RR7RAtcloset
returncodeR8terrort	exceptiontstrRCR'R
(R
RHt
sleep_timetno_of_countt
progress_filetcountt_returncodeR((s1/usr/lib/python2.7/dist-packages/contego/utils.pytpoll_process‡s,


	c
Ks3d„}y
|jddƒ}|jddƒ}|jddƒ}|dkrŠ|tƒdddgƒdddd||d	|g}n„|d
kr|jddƒ}|jddƒ}|tƒdddddgƒd
ddd|d
|d	|d|d|g}n|SWntk
r.}	|	‚nXdS(NcSsBx;|D]3}||dkrtd||dfƒ‚qqWdS(Ns8Required parameter: %s for %s connection can not be NoneRH(R	R
(tlocalstkeystkey((s1/usr/lib/python2.7/dist-packages/contego/utils.pyt
_key_check§s

tauthorized_keytuserthosttsshs-osStrictHostKeyChecking=nos-it@tscptsource_patht	dest_paths-rt:s/*(RR	RWR
(
RHtkwargsRZR[R\R]tcmdspecRaRbR((s1/usr/lib/python2.7/dist-packages/contego/utils.pyt
get_cmd_specs¦s<	tget_dummy_objectcBseZd„ZRS(cKs|jj|ƒdS(N(t__dict__tupdate(tselfRd((s1/usr/lib/python2.7/dist-packages/contego/utils.pyt__init__Ôs(t__name__t
__module__Rk(((s1/usr/lib/python2.7/dist-packages/contego/utils.pyRgÓscCs
|jdƒS(Ns%Y-%m-%dT%H:%M:%S.%f(tstrftime(tat((s1/usr/lib/python2.7/dist-packages/contego/utils.pytstrtime×scks…|jƒ}d|kr(tj|d<ntj|}z	|VWdytj|ƒWn)tk
r}tj	t
dƒ|ƒnXXdS(NtdirsCould not remove tmpdir: %s(tcopytCONFttempdirttempfiletmkdtemptshutiltrmtreeR-R8RNt_LE(Rdtargdictttmpdirte((s1/usr/lib/python2.7/dist-packages/contego/utils.pyRtÚs	cCs]yB|jddƒjdƒd}||}tj|ƒddSWntk
rX}|SXdS(sl
        Replaces single quote with double quotes.
        It Parses the Backing File and returns json.
    s's"RcitfiletfilenameN(treplacetfindtjsontloadsR
(tbacking_filetjson_key_positiontbacking_file_contextR((s1/usr/lib/python2.7/dist-packages/contego/utils.pyt"parse_encrypted_image_backing_fileès
(/RRR.RRRREttimeRtmultiprocessingRt
contextlibRuRwR&tImportErrortconfigparsertoslo_logRtloggingtnova.openstack.commontcontego.conftcontegot	getLoggerRlR8tconfRsRRR+R3R7R=R@tPIPERGRIR	RVRftobjectRgRptcontextmanagerRtR†(((s1/usr/lib/python2.7/dist-packages/contego/utils.pyt<module>sP

	
							
	-