Ñò
ýÉªWc        	   @   sŽ   d  d k  Z  d  d k Z d  d k Z d  d k l Z d  d k 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   ReportCategoryConfigurationc           B   sh   e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z RS(   s1   /opt/tandbergtv/cms/conf/report/report-config.xmlc         C   s#   t  i  i |  ƒ t i ƒ  |  _ d  S(   N(   t	   BaseClasst   __init__R   t   getReportDeploymentPatht   jreportDeployPath(   t   self(    (    su   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/ReportCategoryConfiguration.pyR      s    c      	      s¡   t  i i |  i ƒ p t St |  i d ƒ i ƒ  } y t | ƒ } Wn t i	 i
 i j
 o
 } t SXt ‡  f d †  | i d ƒ ƒ } y | d SWn t SXd  S(   Nt   rc            s   |  i  d  ƒ ˆ  d j S(   t   namei    (   t   getAttribute(   t   element(   t   data(    su   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/ReportCategoryConfiguration.pyt   <lambda>   s    t   reportCategoryi    (   t   ost   patht   existst   filePatht   Falset   filet   readR    t   xmlt   parserst   expatt
   ExpatErrort   filtert   getElementsByTagName(   R   R   t   ft   domt   errt   item(    (   R   su   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/ReportCategoryConfiguration.pyt   checkExistence   s    !c         C   s   d S(   Ni    (    (   R   (    (    su   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/ReportCategoryConfiguration.pyt	   getNextId#   s    c   	      C   sº   d | d GH|  i  ƒ  t |  i d ƒ i ƒ  } t | ƒ } | i d ƒ d } | i d ƒ } | i d | d ƒ | i | ƒ t |  i d ƒ } |  i	 | ƒ } | i
 | ƒ | i ƒ  d  S(   Ns3   Adding Report Category '%s' to report-config.xml...i    R   t   reportsR   R	   t   w(   t   initFileIfNotExistsR   R   R   R    R   t   createElementt   setAttributet   appendChildt	   prettyxmlt   writet   close(	   R   t   id_R   t   finR   t   roott   reportCategoryElementt   foutR(   (    (    su   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/ReportCategoryConfiguration.pyt   insert&   s    
c   	      C   s4  t  | ƒ d j  p | t  | ƒ d d  j o
 d GHd  St i i |  i ƒ p
 d GHd  Sd | d | d f GHt |  i d ƒ i ƒ  } t | ƒ } | i	 d ƒ d } | i	 d	 ƒ } x@ | D]8 } | i
 d
 ƒ | d j o | i d
 | d ƒ q¼ q¼ Wt |  i d ƒ } |  i | ƒ } | i | ƒ | i ƒ  d  S(   Ni   i   s(   WARNING: Parameters passed in invalid!!!s   WARNING: '%s' does not exist!!!s;   Rename Report Category '%s' to '%s' in report-config.xml...i    R   R"   R   R	   R#   (   t   lent   NoneR   R   R   R   R   R   R    R   R
   R&   R(   R)   R*   (	   R   R   R,   R   R-   t   reportCategoryElementsR   R/   R(   (    (    su   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/ReportCategoryConfiguration.pyt   update7   s&    . c            sÐ   | d ‰  d ˆ  GHt  |  i d ƒ i ƒ  } t | ƒ } t ‡  f d †  | i d ƒ ƒ } | d j	 og t | ƒ oZ | i d ƒ d i | d ƒ t  |  i d ƒ } |  i	 | ƒ } | i
 | ƒ | i ƒ  n d S(	   sU    delete a category from the configuration file
        data[0]: catalog name
        i    s,   Delete report '%s' from report-config.xml...R   c            s   |  i  d  ƒ ˆ  j S(   R	   (   R
   (   R   (   t   catName(    su   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/ReportCategoryConfiguration.pyR   X   s    R   R"   R#   N(   R   R   R   R    R   R   R2   R1   t   removeChildR(   R)   R*   (   R   R   R,   R   t   categoryR/   R(   (    (   R5   su   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/ReportCategoryConfiguration.pyt   deleteO   s    
	!c   	      G   sR  g  } x‹ | d D] } | d } t  i i | ƒ p\ d } g  } | i | d ƒ | i | d ƒ | i | d ƒ t | f } | i | ƒ q q Wd d g } x« t  i |  i ƒ D]— } |  i t  i | } t  i i | ƒ p q³ n |  i	 | | ƒ pP d } g  } | i | ƒ | i | ƒ | i | ƒ t
 | f } | i | ƒ q³ q³ W| S(	   sA     only do this for CMS3.0
        data[0]: category list
        i    t   PATHt   NAMEt   DESCs   *SampleReportss
   *WPCatalog(    (    (   R   R   R   t   appendt   Truet   listdirR   t   sept   isdirt	   matchFileR   (	   R   R   t   catalogListR7   R   t   catalogPairt
   oneCatalogt   execlueFiltersR   (    (    su   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/ReportCategoryConfiguration.pyt   backupb   s6     
 c         C   s-   x& | D] } t  i  | | ƒ o t Sq Wt S(   N(   t   fnmatchR=   R   (   R   R   t   filterst   pattern(    (    su   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/ReportCategoryConfiguration.pyRA      s
     	c         C   s{   t  i i |  i ƒ p |  i ƒ  nT t |  i d ƒ i ƒ  } y t | ƒ } Wn( t i	 i
 i j
 o } |  i ƒ  n Xd  S(   NR   (   R   R   R   R   t   initFileR   R   R    R   R   R   R   (   R   R   R   R   (    (    su   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/ReportCategoryConfiguration.pyR$   “   s    c         C   s   d } |  i  |  i | ƒ d  S(   Ns„   <?xml version="1.0" encoding="UTF-8"?>
<reports baseURL="/jreport/jinfonet/tryView.jsp?jrs.auth_uid=cms&amp;jrs.auth_pwd=cms&amp;"/>(   t
   createFileR   (   R   R   (    (    su   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/ReportCategoryConfiguration.pyRJ      s    (   t   __name__t
   __module__R   R   R    R!   R0   R4   R8   RF   RA   R$   RJ   (    (    (    su   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/ReportCategoryConfiguration.pyR      s   							+		
c          C   s   t  ƒ  }  |  i d ƒ d  S(   Ns   Content Reports1(   R   t   add(   t   cf(    (    su   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/ReportCategoryConfiguration.pyt   main¡   s    	t   __main__(
   R   R   R   t   xml.dom.minidomR    RG   R   R   RP   RL   (    (    (    su   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/ReportCategoryConfiguration.pyt   <module>   s   –	