ó i'dWc@sÏdZddljjZddljZddlmZddlmZddlm Z ddlm Z m Z m Z m Z mZddlmZddlmZd efd „ƒYZd efd „ƒYZdS( s:Transfer P5I checkpoint. Sub-class of the checkpoint classiÿÿÿÿN(tOrigin(t Publisher(tSource(tACTIONtCONTENTSt PURGE_HISTORYt APP_CALLBACKtINSTALL(t TransferIPS(tTransferIPSAttrt TransferP5IcBs)eZdZd„Zd„Zd„ZRS(sSubclass of the TransferIPS checkpoint to be used for IPS transfers using a p5i file. The input comes from the DOC. cCs,tt|ƒj|ƒg|_d|_dS(Nt use_existing(tsuperR t__init__t_p5i_lstt img_action(tselftname((sp5i.pyR .s cCs|jtjtdtƒ}|d}|jtjtdtƒ}|jdƒ}|jtjtdtƒ}|dj }yt j d|ƒ|_ Wn$t jk r¶t|dƒ‚nXt|ƒdkr|jdƒ}|j|dtƒx$|D]}|j|dtƒqòWndS(Ntnot_found_is_erritlocations! does not have the correct formatt preferred(t get_childrenRt SOURCE_LABELtTrueRtPUBLISHER_LABELtpopRt ORIGIN_LABELtorigintp5itparseRt api_errorstInvalidP5IFilet Exceptiontlent_set_publisher_infotFalse(Rt soft_nodetsrc_listtsrctpub_listtpubt orig_listtp5i_file((sp5i.pyt _parse_src3s&      cCswtƒ}xE|jD]:}|\}}t|t<||ts(4