Ñò
ýÉªWc           @   sÿ   d  d k  l Z d  d k Z d  d k Z d  d k Z d  d k l Z d  d k i i	 Z
 d  d k l Z d  d k l Z d  d k l Z d e f d „  ƒ  YZ d	 „  Z d
 „  Z d e f d „  ƒ  YZ d e f d „  ƒ  YZ d „  Z e d j o e ƒ  n d S(   iÿÿÿÿ(   t
   itemgetterN(   t	   urlencode(   t   Element(   t   HttpRequestDecorator(   t   CMSVersionDeploymentPolicyt   ContentClassAssemblerc           B   st   e  Z e e e d  „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z d	 „  Z d
 „  Z RS(   c         C   sE   d  |  _ | |  _ | |  _ d d d g |  _ | o t t _ n d  S(   Ns9   /Fields/CustomFields/CustomField[@name=CP_Profile]/@valuesJ   /Fields/CustomFields/CustomField[@name=Title_State_Machine_Profile]/@values<   /Fields/CustomFields/CustomField[@name=purgeStrategy]/@value(   t   Nonet(   _ContentClassAssembler__default_xml_treet   fix_isHidden_fieldt   fix_includeInBatch_fieldt   merge_option_field_pathst   _serialize_xml_with_ordert   ETt   _serialize_xml(   t   selft   sortTagsR   R	   (    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pyt   __init__   s    			c         C   s   t  i | ƒ |  _ d S(   so    load preset(default) content class
        @param filePath     The XML path of content class
        
        N(   R   t   parseR   (   R   t   filePath(    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pyt   loadDefault%   s    c         C   sD   t  i | ƒ } |  i d j o | |  _ d S|  i | |  i ƒ d S(   sm    Merge with specify content class
        @param filePath     The XML path of content class
        
        N(   R   R   R   R   t#   _ContentClassAssembler__mergeAssets(   R   R   t   xml_tree(    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pyt	   mergeWith/   s
    	c   	      C   sñ   |  i  d j o
 d GHd St i | ƒ i ƒ  i d ƒ } |  i  i ƒ  i d ƒ } |  i  i ƒ  i d ƒ } t d „  | Dƒ ƒ } xl | D]d } | i d } | i	 | ƒ oA | i
 | ƒ } t | ƒ p | i | ƒ qé |  i | | ƒ q… q… Wd S(   sl    Delete by specify content class
        @param filePath     The XML path of content class
        
        s'   Please load default content class firstNs   metadata/assett   metadatac         s   s&   x |  ] } | i  d  | f Vq Wd S(   t   pathN(   t   attrib(   t   .0t   a(    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pys	   <genexpr>E   s   	 R   (   R   R   R   R   t   getroott   findallt   findt   dictR   t   has_keyt   gett   listt   removet!   _ContentClassAssembler__delFields(	   R   R   t   assetst   el_metadatat
   tar_assetst   tar_asset_dictt   assett
   asset_patht	   tar_asset(    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pyt   deleteBy:   s     c         C   s2  | i  d ƒ } | i  d ƒ } t d „  | Dƒ ƒ } x÷ | D]ï } | i d } | i | ƒ oÌ | i | ƒ } | i  d ƒ }	 | i  d ƒ }
 |	 p | i | ƒ q*| i d ƒ } t d „  |
 Dƒ ƒ } | |  i j oN xK |	 D]? } | i d ƒ i } | | j o | i | i | ƒ ƒ qß qß Wq*q; q; Wd  S(   Nt   fieldc         s   s&   x |  ] } | i  d  | f Vq Wd S(   R   N(   R   (   R   t   f(    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pys	   <genexpr>U   s   	 R   s   options/optiont   optionsc         s   s+   x$ |  ] } | i  d  ƒ i | f Vq Wd S(   t   valueN(   R   t   text(   R   t   opt(    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pys	   <genexpr>`   s   	 R0   (	   R   R   R   R    R!   R#   R   R
   R1   (   R   t	   src_assetR+   t
   src_fieldst
   tar_fieldst   tar_fields_dictt	   src_fieldR   t	   tar_fieldt   src_optst   tar_optst   tar_opts_fieldt   tar_opts_dictR2   t   val(    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pyt   __delFieldsR   s(      c   
      C   sÊ   | i  ƒ  i d ƒ } | i  ƒ  i d ƒ } t d „  | Dƒ ƒ } | i  ƒ  i d ƒ } xn | D]f } | i d } | | i ƒ  j o | i | ƒ q\ | i | ƒ }	 |  i | |	 ƒ |  i	 | |	 ƒ q\ Wd  S(   Ns   metadata/assetc         s   s&   x |  ] } | i  d  | f Vq Wd S(   R   N(   R   (   R   R   (    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pys	   <genexpr>o   s   	 R   R   (
   R   R   R   R   R   t   keyst   appendR!   t&   _ContentClassAssembler__mergeAssetAttrt#   _ContentClassAssembler__mergeFields(
   R   t   src_xml_treet   tar_xml_treet
   src_assetsR'   R(   R&   R)   R*   R+   (    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pyt   __mergeAssetsl   s     c         C   sX  d | i  j oG d | i  j p | i  d | i  d j o | i  d | i  d <qW n d | i  j oG d | i  j p | i  d | i  d j  o | i  d | i  d <q® n t } t } d | i  j o" | i  d d j o
 t } qì n d | i  j o" | i  d d j o
 t } qn | | j o) | o d | i  d <qTd | i  d <n d  S(   Nt   maxt   mint   isHiddent   truet   false(   R   t   Falset   True(   R   R3   R+   t   src_isHiddent   tar_isHidden(    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pyt   __mergeAssetAttr}   s$    ++c   
      C   sé   | i  d ƒ } | i  d ƒ } t d „  | Dƒ ƒ } x® | D]¦ } | i d } | | i ƒ  j o | i | ƒ q; | i | ƒ } | |  i j o |  i | | ƒ q; |  i | | ƒ | i	 | ƒ }	 | i
 | ƒ | i |	 | ƒ q; Wd  S(   NR-   c         s   s&   x |  ] } | i  d  | f Vq Wd S(   R   N(   R   (   R   R.   (    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pys	   <genexpr>¡   s   	 R   (   R   R   R   R?   R@   R!   R
   t#   _ContentClassAssembler__mergeOptiont&   _ContentClassAssembler__mergeFieldAttrt   indexR#   t   insert(
   R   R3   R+   R4   R5   R6   R-   t
   field_pathR8   RS   (    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pyt   __mergeFieldsž   s     c         C   s÷   |  i  oª t } t } d | i j o" | i d d j o
 t } qH n d | i j o" | i d d j o
 t } qz n | o | o q´ d | i j o | i i d ƒ q´ n |  i o5 d | i j p d | i j o d | i d <qó n d S(   sƒ    
        Merge attributes of tar_field to src_field, Since The target Asset will replace the tar_field with the src_field
        RI   RJ   t   includeInBatchN(   R   RL   R   RM   t   popR	   (   R   R7   R8   RN   RO   (    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pyt   __mergeFieldAttrµ   s     

 c         C   sm  | i  d ƒ } | d  j o d  S| i  d ƒ } | d  j o | i | ƒ d  S| i d ƒ } | i d ƒ } t d „  | Dƒ ƒ } xy | D]q } | i  d ƒ i }	 |	 | j o | i | ƒ qŠ | i |	 ƒ }
 | i |
 ƒ } | i |
 ƒ | i	 | | ƒ qŠ W| i  d ƒ } | i  d ƒ } | d  j	 o? | i d  j	 o/ | d  j	 o | i | ƒ n | i | ƒ n d  S(   NR/   t   optionc         s   s+   x$ |  ] } | i  d  ƒ i | f Vq Wd S(   R0   N(   R   R1   (   R   R2   (    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pys	   <genexpr>Ü   s   	 R0   (
   R   R   R@   R   R   R1   R!   RS   R#   RT   (   R   R7   R8   t   src_opts_fieldR;   R9   R:   R<   R2   R=   t   tar_optRS   t   defaultSrcValuet   defaultTargetValue(    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pyt   __mergeOptionÑ   s2     c         C   s.   |  i  d  j o
 d GHd  S|  i  i | ƒ d  S(   Ns   No XML Object to persistence!(   R   R   t   write(   R   t
   outputPath(    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pyt
   write2fileõ   s    (   t   __name__t
   __module__RL   R   R   R   R,   R$   R   RA   RB   RR   RQ   Rb   (    (    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pyR      s   	
					!			$c         C   sL   |  i  ƒ  } d } | o/ x, | D]  } | d d j o	 | d Sq  Wn | S(   Nt    i    R   i   (   t   items(   t   eRf   R   t   p(    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pyt   _get_attr_pathû   s     c         C   sÄ  | i  } | i } | t i j o |  d t i | | ƒ ƒ nZ| t i j o |  d t i | | ƒ ƒ n,| | } | d  j oL | o |  t i | | ƒ ƒ n xð| D] } t |  | | | d  ƒ q­ WnÉ|  d | ƒ | i	 ƒ  } | p | o¬| on xk t
 | i	 ƒ  d d „  ƒD]J \ }	 }
 |
 o d |
 }
 n |  d |
 i | ƒ t i |	 | ƒ f ƒ qWn x” | D]Œ \ }
 }	 |
 d j os t |
 t i ƒ o |
 i }
 n t |	 t i ƒ o | |	 i }	 n t i |	 | ƒ }	 |  d	 | |
 |	 f ƒ PququWx t
 | ƒ D]‹ \ }
 }	 |
 d j or t |
 t i ƒ o |
 i }
 n t |	 t i ƒ o | |	 i }	 n t i |	 | ƒ }	 |  d	 | |
 |	 f ƒ qqWn | p t | ƒ oÖ |  d
 ƒ | o |  t i | | ƒ ƒ n g  } | i ƒ  D] } | t | ƒ | f qõ~ } | i d t d ƒ ƒ g  } | D] } | | d q8~ } x$ | D] } t |  | | | d  ƒ qYW|  d | d
 ƒ n |  d ƒ | i o |  t i | i | ƒ ƒ n d  S(   Ns	   <!--%s-->s   <?%s?>t   <t   keyc         S   s   |  d  S(   i   (    (   t   x(    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pyt   <lambda>  s    t   :s    xmlns%s="%s"R   s    %s="%s"t   >i    i   s   </s    />(   t   tagR1   R   t   Commentt   _encodet   ProcessingInstructionR   t   _escape_cdataR   Rf   t   sortedt   encodet   _escape_attribt
   isinstancet   QNamet   lent   getchildrenRi   t   sortR    t   tail(   R`   t   elemt   encodingt   qnamest
   namespacesRp   R1   Rg   Rf   t   vt   kt   _[1]t   tagst   _[2](    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pyR     st    		
 
  	 $
3% 

t   ContentClassHandlerc           B   sk   e  Z e d  d d d „ ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z RS(	   i   i<   t	   localhostc         C   sõ   d } | } xÏ | d j oÁ yv t  i | | d ƒ } | d d d j p* | d d d j p | d d d j o
 d GHt Sd	 t |  ƒ d
 GHWn- t j
 o! } | GHd	 t |  ƒ d
 GHn Xt i |  ƒ | |  } q Wd t | ƒ d GHt S(   s)   Check if the content class service is up.sH   https://%s:8443/services/resteasy/contentclassservice/contentclassexporti    t   POSTt   statust   401t   400t   405s   ContentClass Service is ups-   ContentClass Service is not up yet, wait for s    seconds to check again.s+   ContentClass Service is still not up after s#    seconds. Please check the network.(   R   t   requestRM   t   strt	   Exceptiont   timet   sleepRL   (   t   intervalt   timeoutt   hostnamet   req_urlt
   timeToWaitt   respt   ex(    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pyt   isServiceUpE  s$     ?c         C   s~   t  d t ƒ } |  d  j	 o" x |  D] } | i | ƒ q# Wn | d  j	 o" x | D] } | i | ƒ qR Wn | i | ƒ d  S(   NR   (   R   RL   R   R   R,   Rb   (   t   mer_content_classest   del_content_classesRa   t	   assemblert   c(    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pyt   mergeContentClasses^  s      c         C   sð   t  i | d | ƒ } h d | d 6d d 6} h | d 6t d 6} d } t i | d	 t | ƒ d
 | ƒ} | d d d j o+ | GHd | j o	 d GHn t d ƒ ‚ n t |  d ƒ }	 t | d d ƒ }
 |	 i	 |
 i
 d ƒ ƒ |	 i ƒ  d S(   sæ    export Content Class by id
        @param ct_cls_id            The content class id
        @param username      The user name for login CMS web service
        @param password      The password for login CMS web service
        Rn   s   Basic t   Authorizations!   application/x-www-form-urlencodeds   content-typet   idt   partnersO   https://localhost:8443/services/resteasy/contentclassservice/contentclassexportR‰   t   headersi    RŠ   t   200s   _ssl.c:492: error:100AE081sn   This Error is caused by a bug in Red Hat/CentOS, please contact the OS adminitrator to upgrade the OpenSSL rpms   Failed to export content classt   wbi   s   utf-8N(   t   base64t   encodestringRL   R   RŽ   R   t   RuntimeErrort   opent   unicodeR`   Rv   t   close(   Ra   t	   ct_cls_idt   usernamet   passwordt   autht   headt   dataR–   R˜   R.   t   source(    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pyt
   exportByIdm  s    !	c   	      C   sÜ   t  i i |  ƒ p |  Gd GHd Sd G|  GHt i | d | ƒ } h d | d 6d d 6} t |  d	 ƒ i ƒ  } t d
 | d d ƒ } d } t i	 | d t
 | ƒ d | ƒ} | d d d j o | GHt d |  ƒ ‚ n d S(   sÞ    Import Content Class
        @param xmlPath       The path of content class
        @param username      The user name for login CMS web service
        @param password      The password for login CMS web service
        s    not exists!Ns   import content class Rn   s   Basic R    s!   application/x-www-form-urlencodeds   content-typet   rbt   xmlR¢   t   ignoresO   https://localhost:8443/services/resteasy/contentclassservice/contentclassimportR‰   R£   i    RŠ   R¤   s   Failed to import content class (   t   osR   t   existsR¦   R§   R©   t   readR   R   RŽ   R   R¨   (	   t   xmlPathR­   R®   R¯   R°   t   xmlstrR±   R–   R˜   (    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pyt   importContentClass‡  s    		!c         C   sY   t  i ƒ  i ƒ  i ƒ  } d } | i | |  ƒ | i ƒ  } t | ƒ o | d d Sd S(   su    Get Content Class ID by content class name through DataBase
        @param className     content class name
        s0   SELECT ID FROM PMM_CONTENT_CLASS WHERE NAME='%s'i    iÿÿÿÿ(   R   t   getPrepackDepolymentPolicyt   getDatabaseConnectiont   cursort   executet   fetchallRz   (   t   content_class_nameR¿   t	   statementt   contentClassId(    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pyt   getContentClassIdByName›  s    c         C   s  t  i | ƒ } | i ƒ  } |  d j o | i d d ƒ n | i d d ƒ | i d ƒ d j o) t d ƒ } |  | _ | i d | ƒ n | i d ƒ d j o) t d ƒ } | | _ | i d | ƒ n | i d	 ƒ d j o) t d	 ƒ } d
 | _ | i d | ƒ n | i	 | d ƒ d S(   s   Add Head information to merged content class file of each content class
        @param content_class_name     content class name
        @param content_class_description  content class description
        @param xmlPath       store file path after added head information
        t   Defaultt	   isDefaultRJ   RK   t   namei    t   descriptioni   t   usageR   i   s   utf-8N(
   R   R   R   t   setR   R   R   R1   RT   R`   (   RÂ   t   content_class_descriptionRº   t   contentClasst   rootRÈ   RÉ   RÊ   (    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pyt   addHeadOfContentClass§  s$    			(	   Rc   Rd   t   staticmethodRš   RŸ   R³   R¼   RÅ   RÏ   (    (    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pyR‡   C  s   t   DefinintionAssemblerc           B   sS   e  Z e d  „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 RS(   c         C   s!   d  |  _ | o t t _ n d  S(   N(   R   t'   _DefinintionAssembler__default_xml_treeR   R   R   (   R   R   (    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pyR   Ä  s    	c         C   sD   t  i | ƒ } |  i d j o | |  _ d S|  i | |  i ƒ d S(   sd    Merge with specify specification
        @param filePath     The XML path of specification
        N(   R   R   RÒ   R   t    _DefinintionAssembler__mergeTree(   R   R   R   (    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pyR   Ì  s
    	c         C   s>   | i  ƒ  i d ƒ } | i  ƒ  i d ƒ } |  i | | ƒ d  S(   Nt   title(   R   R   t!   _DefinintionAssembler__mergeTitle(   R   R   t   default_xml_treet	   src_titlet	   tar_title(    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pyt   __mergeTreeÙ  s    c         C   sc   | i  d ƒ } | i  d ƒ } |  i | | ƒ | i  d ƒ } | i  d ƒ } |  i | | | ƒ d  S(   NR   t   childTitles(   R   t$   _DefinintionAssembler__mergeMetadatat'   _DefinintionAssembler__mergeChildTitles(   R   R×   RØ   t   src_metadatat   tar_metadatat   src_childTitlest   tar_childTitles(    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pyt   __mergeTitleá  s    c         C   s–   | i  d ƒ } | i  d ƒ } t d „  | Dƒ ƒ } x[ | D]S } | i d } | | j o d G| GH| i | ƒ q; |  i | | i | ƒ ƒ q; Wd  S(   Nt   variablec         s   s&   x |  ] } | i  d  | f Vq Wd S(   RÈ   N(   R   (   R   R‚   (    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pys	   <genexpr>ò  s   	 RÈ   s   append variable(   R   R   R   R@   t$   _DefinintionAssembler__mergeVariableR!   (   R   RÝ   RÞ   t   src_variablest   tar_variablest   tar_variables_dictR‚   RÈ   (    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pyt   __mergeMetadataï  s     	c   	      C   s«   | i  d ƒ } | i  d ƒ } t d „  | Dƒ ƒ } | i d } xc | D][ } | i d } | | j o" d G| Gd G| GH| i | ƒ qH |  i | | i | ƒ ƒ qH Wd  S(   NRâ   c         s   s&   x |  ] } | i  d  | f Vq Wd S(   RÈ   N(   R   (   R   R‚   (    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pys	   <genexpr>  s   	 RÈ   s   append variables    to (   R   R   R   R@   Rã   R!   (	   R   t   src_variablet   tar_variablet   src_child_variablest   tar_child_variablest   tar_child_variables_dictt   tar_var_nameR‚   RÈ   (    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pyt   __mergeVariableþ  s     c   
      C   sÖ   | d  j o d  S| d  j o d GH| i | ƒ nž | i d ƒ } | i d ƒ } t d „  | Dƒ ƒ } xf | D]^ } | i d ƒ i } | | j o | i | ƒ d G| GHqp | i | ƒ }	 |  i | |	 ƒ qp Wd  S(   Ns   append childTitleRÔ   c         s   s+   x$ |  ] } | i  d  ƒ i | f Vq Wd S(   RÈ   N(   R   R1   (   R   t   t(    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pys	   <genexpr>  s   	 RÈ   s   append title(   R   R@   R   R   R   R1   R!   RÕ   (
   R   Rß   Rà   t   tar_parent_titlet
   src_titlest
   tar_titlest   tar_titles_dictRÔ   RÈ   RØ   (    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pyt   __mergeChildTitles  s      c         C   s(   |  i  d  j	 o |  i  i | ƒ n d  S(   N(   RÒ   R   R`   (   R   Ra   (    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pyRb   $  s    (   Rc   Rd   RL   R   R   RÓ   RÕ   RÛ   Rã   RÜ   Rb   (    (    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pyRÑ   Â  s   						c           C   s   t  i d d ƒ d  S(   NR”   i   (   R‡   Rš   (    (    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pyt   main(  s    t   __main__(   t   operatorR    R¦   R‘   R·   t   urllibR   t   xml.etree.ElementTreet   etreet   ElementTreeR   R   R   R   t   objectR   Ri   R   R‡   RÑ   Rõ   Rc   (    (    (    sg   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/FileAssembler.pyt   <module>   s    ä	
	>f	