Ñò
ýÉªWc           @   sv   d  d k  Z  d  d k Z d  d k l Z d  d k l Z d e  i  f d „  ƒ  YZ d „  Z e d j o e ƒ  n d S(   iÿÿÿÿN(   t   parseString(   t   CMSVersionDeploymentPolicyt   CustomFieldsGroupsc           B   sY   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 RS(	   c         C   s0   t  i  i |  ƒ d |  _ d |  _ |  i ƒ  d  S(   Ns   DISPLAY_NAME, ASSET_PATH, UUIDt   MDM_CUSTOM_FIELD_GROUP(   t	   BaseClasst   __init__t   columnst   tablet   setSelectStatement(   t   self(    (    sl   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/CustomFieldsGroups.pyR      s    		c   	      C   s  | d } | d } t  i ƒ  d j oK |  i i d | | f ƒ |  i i ƒ  } t | ƒ o | d d St Snž t d d ƒ i ƒ  } t	 | ƒ } t
 d „  | i d ƒ ƒ } t d	 „  | ƒ } | d
 j o | i d d ƒ } n y | | i | ƒ SWn t j
 o t SXd  S(   Ni    i   g      @sW   SELECT GROUP_ID FROM MDM_CUSTOM_FIELD_GROUP WHERE DISPLAY_NAME='%s' AND ASSET_PATH='%s's\   /opt/tandbergtv/cms/plugins/content/com.tandbergtv.metadata.ecmf.ui/resources/definition.xmlt   rc         S   s   |  i  d  ƒ d j S(   t   namet   CustomFields(   t   getAttribute(   t   variable(    (    sl   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/CustomFieldsGroups.pyt   <lambda>"   s    R   c         S   s   |  i  i  i i i i S(    (   t
   parentNodet
   firstChildt   nextSiblingt	   nodeValue(   t   element(    (    sl   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/CustomFieldsGroups.pyR   #   s    t   PACKAGEs   PACKAGE/t    (   R   t   getCMSVersiont   cursort   executet   fetchallt   lent   Falset   filet   readR    t   filtert   getElementsByTagNamet   mapt   replacet   indext
   ValueError(	   R	   t   datat	   groupNamet	   assetPatht   rowst   ft   domt   customFieldst   paths(    (    sl   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/CustomFieldsGroups.pyt   checkExistence   s$    

c         C   sA   t  i ƒ  d j o& |  i i d ƒ |  i i ƒ  d d Sd Sd  S(   Ng      @s7   SELECT WFS.MDM_CUSTOM_FIELD_GROUP_SEQ.NEXTVAL FROM DUALi    i   (   R   R   R   R   R   (   R	   (    (    sl   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/CustomFieldsGroups.pyt	   getNextId-   s    c      	      sÌ  t  i ƒ  d j o± t | ƒ d j o | d } n |  i | d | d ƒ } yN d |  i | g t | d  ƒ | g ƒ } | GH|  i i | ƒ |  i ƒ  SWqÈt	 j
 o } | GH|  i
 ƒ  SXnt d d ƒ i ƒ  } t | ƒ } | d i d	 ƒ d
 ‰  t ‡  f d †  | i d ƒ ƒ d } t d „  | i ƒ d }	 | i d ƒ }
 |
 i d d ƒ |
 i d d ƒ |
 i d d ƒ |
 i | i d ƒ ƒ |	 i |
 ƒ t d d ƒ } | i | d d ƒ| i ƒ  d  S(   Ng      @i   i   i    i   sW   INSERT INTO MDM_CUSTOM_FIELD_GROUP (GROUP_ID, DISPLAY_NAME, ASSET_PATH, UUID) VALUES %ss\   /opt/tandbergtv/cms/plugins/content/com.tandbergtv.metadata.ecmf.ui/resources/definition.xmlR
   t   /iÿÿÿÿc            s   |  i  i i  i ˆ  j S(    (   R   R   R   (   R   (   t	   assetName(    sl   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/CustomFieldsGroups.pyR   H   s    t   titlec         S   s   |  i  d  j S(   t   metadata(   t   nodeName(   R   (    (    sl   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/CustomFieldsGroups.pyR   I   s    R   R   R   t   displayNames   metadata.customFieldss   xsi:typet   complexVariableTypes   
t   wt   encodings   UTF-8(   R   R   R   t   generateUUIDt
   tupleToStrt   listR   R   t   committ	   Exceptiont   rollbackR   R   R    t   splitR   R    t
   childNodest   createElementt   setAttributet   appendChildt   createTextNodet   writexmlt   close(   R	   t   id_R%   t   ut	   statementt   et   finR*   t   assetR2   t	   cfElementt   fout(    (   R0   sl   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/CustomFieldsGroups.pyt   insert4   s4    +%c         C   sž   t  i ƒ  d j o‡ t | ƒ d j op | d } y> d | | d | d f } | GH|  i i | ƒ |  i ƒ  SWq– t j
 o } | GH|  i ƒ  SXqš n d  S(   Ng      @i   i   sW   UPDATE MDM_CUSTOM_FIELD_GROUP SET UUID='%s' WHERE DISPLAY_NAME='%s' AND ASSET_PATH='%s'i    i   (   R   R   R   R   R   R;   R<   R=   (   R	   R%   RG   RH   RI   (    (    sl   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/CustomFieldsGroups.pyt   updateX   s    
c         C   s©   | d } | d } |  i  | ƒ } | t j o d SyL d | } | GH|  i i | ƒ d | } | GH|  i i | ƒ |  i ƒ  SWn! t j
 o } | GH|  i ƒ  SXd S(   s$  delete the custom field group from table 'MDM_CUSTOM_FIELD_GROUP'.
		if the custom field group has custom fields, all the custom fields under
		this group will be deleted as well.
		data[0]: display name
		data[1]: asset path
		
		for example, 
		delete('Custom Fields', 'PACKAGE/PREVIEW')
		i    i   Ns2   DELETE FROM MDM_CUSTOM_FIELD WHERE GROUP_ID = '%s's8   DELETE FROM MDM_CUSTOM_FIELD_GROUP WHERE GROUP_ID = '%s'(   R-   R   R   R   R;   R<   R=   (   R	   R%   R&   R'   t   groupIdRH   RI   (    (    sl   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/CustomFieldsGroups.pyt   deletej   s     




c         G   s   t  t i t i t  | ƒ ƒ ƒ S(   N(   t   strt   uuidt   uuid5t   NAMESPACE_DNS(   R	   R%   (    (    sl   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/CustomFieldsGroups.pyR8   ‹   s    c         C   sW   d } t  | ƒ d j o: |  i i | | d | d f ƒ |  i i ƒ  } | d Sd S(   Nsm   SELECT DISPLAY_NAME, ASSET_PATH, UUID FROM MDM_CUSTOM_FIELD_GROUP WHERE DISPLAY_NAME='%s' AND ASSET_PATH='%s'i   i    i   R   (   R   R   R   R   (   R	   t   argsRH   R(   (    (    sl   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/CustomFieldsGroups.pyt   backUpExisting   s    "	c         G   s™   t  | d ƒ t  t ƒ  ƒ j o | d } n |  i | ƒ p! |  i | d t | ƒ d !ƒ o% t |  i | d t | ƒ d !ƒ f St | d d !f Sd  S(   Ni    i   i   (   t   typet   tuplet   isDeleteR-   R   R   RW   t   True(   R	   RV   (    (    sl   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/CustomFieldsGroups.pyt   backup˜   s
     1%(   t   __name__t
   __module__R   R-   R.   RN   RO   RQ   R8   RW   R\   (    (    (    sl   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/CustomFieldsGroups.pyR   
   s   					$		!		c          C   s   t  ƒ  }  |  i d ƒ d  S(   Ns   Custom Fieldss   PACKAGE/ENCRYPTEDt   asdfasfasfasdfasdfsa(   s   Custom Fieldss   PACKAGE/ENCRYPTEDR_   (   R   t   add(   t   cfg(    (    sl   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/CustomFieldsGroups.pyt   main    s    	t   __main__(   R   RS   t   xml.dom.minidomR    R   R   Rb   R]   (    (    (    sl   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/CustomFieldsGroups.pyt   <module>   s   –	