Ñò
ýÉªWc           @   s‚   d  d k  Z  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   unescapet   WatchFolderConfigurationc           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(   sU   /opt/tandbergtv/watchpoint/tomcat/webapps/watchfolder/WEB-INF/classes/watchfolder.xmlc         C   s   t  i  i |  ƒ d  S(   N(   t	   BaseClasst   __init__(   t   self(    (    sr   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/WatchFolderConfiguration.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            sD   |  i  d  ƒ ˆ d j o* ˆ  i |  i d ƒ d i i ƒ ˆ d j S(   t   pathi    t   filteri   (   t   getAttributet   trimt   getElementsByTagNamet
   firstChildt	   nodeValue(   t   element(   R   t   data(    sr   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/WatchFolderConfiguration.pyt   <lambda>   s    t	   directoryi    (   t   osR   t   existst   filePatht   Falset   filet   readR    t   xmlt   parserst   expatt
   ExpatErrorR   R   (   R   R   t   ft   domt   errt   item(    (   R   R   sr   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/WatchFolderConfiguration.pyt   checkExistence   s    $c         C   s   d S(   Ni    (    (   R   (    (    sr   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/WatchFolderConfiguration.pyt	   getNextId   s    c         C   s—   d | d | d f GH|  i  ƒ  t |  i d ƒ i ƒ  } t | ƒ } |  i | | ƒ t |  i d ƒ } |  i | ƒ } | i t | ƒ ƒ | i	 ƒ  d  S(   NsH   Adding watch folder configuration '%s' filter '%s' to watchfolder.xml...i    i   R   t   w(
   t   initFileIfNotExistsR   R   R   R    t	   insertDomt	   prettyxmlt   writeR   t   close(   R   t   id_R   t   finR   t   foutR%   (    (    sr   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/WatchFolderConfiguration.pyt   insert"   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   (    (    sr   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/WatchFolderConfiguration.pyR#   0   s    c         C   s   d } |  i  |  i | ƒ d  S(   Ns4   <?xml version="1.0" encoding="UTF-8"?><directories/>(   t
   createFileR   (   R   R   (    (    sr   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/WatchFolderConfiguration.pyR,   :   s    c         C   sf  | i  d ƒ d } | i d ƒ } | i d | d ƒ | i d ƒ } | i | i | d ƒ ƒ | i | ƒ | i d ƒ } | i | i | d ƒ ƒ | i | ƒ | i d	 ƒ } | i d
 ƒ } | i | i | d ƒ ƒ | i | ƒ | i d ƒ }	 | i d ƒ }
 |
 i d d ƒ |
 i d d ƒ |	 i |
 ƒ | i d ƒ } | i d d ƒ | i d | d ƒ |	 i | ƒ | i d ƒ } | i d d ƒ | i d d ƒ |	 i | ƒ |  i | | d d |	 ƒ |  i | | d d |	 ƒ | d oD | i d ƒ } | i d d ƒ | i d | d ƒ |	 i | ƒ n | d oD | i d ƒ } | i d d ƒ | i d | d ƒ |	 i | ƒ n | d oD | i d ƒ } | i d d ƒ | i d | d ƒ |	 i | ƒ n | i |	 ƒ | i | ƒ | i d  ƒ } | i | i | d! ƒ ƒ | i | ƒ | i d" ƒ } | i | i | d# ƒ ƒ | i | ƒ | i | ƒ d  S($   Nt   directoriesi    R   R   R   i   t	   frequencyi   t   processt   classi   t   parameterListt	   parametert   namet   commandt   valuet   createt
   messageUIDi   t
   dateFormats   yyyy-MM-dd HH:mm:ssi   s   commandParameter.i   s   messageParameter.i   t
   routingDiri   t
   failureDiri	   t   looseFileNamePatternt   eventsi
   t   threadsi   (   R   t   createElementt   setAttributet   appendChildt   createTextNodet   insertParameters(   R   R   R   t   roott   directoryElementt   filterElementt   frequencyElementt   processElementt   classElementt   parameterListElementt   commandElementt   messageuidElementt   dateFormatElementt   routingDirElementt   failureDirElementt   looseFileNamePatternElementt   eventsElementt   threadsElement(    (    sr   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/WatchFolderConfiguration.pyR$   >   sh    c         C   s¢   t  t ƒ  ƒ t  | ƒ j o t | i ƒ  ƒ d j } | oc x` | i ƒ  D]N } | i d ƒ } | i d | | d ƒ | i d | d ƒ | i | ƒ qH Wn d  S(   Ni    R3   R4   R6   i   (   t   typet   dictt   lent   keyst   itemsR?   R@   RA   (   R   R   t
   parameterst   prefixRJ   t   notEmptyDitR3   t   parameterElement(    (    sr   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/WatchFolderConfiguration.pyRC   ‰   s    4 c            sÏ   d ˆ  d ˆ  d f GHt  ˆ i d ƒ i ƒ  } t | ƒ } t ‡ ‡  f d †  | i d ƒ ƒ } | i d ƒ d i | d ƒ ˆ i | ˆ  ƒ t  ˆ i d ƒ } ˆ i | ƒ } | i	 t
 | ƒ ƒ | i ƒ  d  S(	   NsJ   Updating watch folder configuration '%s' filter '%s' to watchfolder.xml...i    i   R   c            sD   |  i  d  ƒ ˆ d j o* ˆ  i |  i d ƒ d i i ƒ ˆ d j S(   R   i    R   i   (   R	   R
   R   R   R   (   R   (   R   R   (    sr   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/WatchFolderConfiguration.pyR   ˜   s    R   R.   R"   (   R   R   R   R    R   R   t   removeChildR$   R%   R&   R   R'   (   R   R   R)   R   R   R*   R%   (    (   R   R   sr   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/WatchFolderConfiguration.pyt   update“   s    $c            sÝ   d ˆ  d ˆ  d f GHt  ˆ i d ƒ i ƒ  } t | ƒ } t ‡ ‡  f d †  | i d ƒ ƒ } | d	 j	 om t | ƒ o` | i d ƒ d i | d ƒ t  ˆ i d ƒ } ˆ i	 | ƒ } | i
 t | ƒ ƒ | i ƒ  n d	 S(
   s|    delete a watchfolder from the configuration file
        data[0]: watchfolder path
        data[1]: filter        
        sH   Delete watch folder configuration '%s' filter '%s' to watchfolder.xml...i    i   R   c            sD   |  i  d  ƒ ˆ d j o* ˆ  i |  i d ƒ d i i ƒ ˆ d j S(   R   i    R   i   (   R	   R
   R   R   R   (   R   (   R   R   (    sr   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/WatchFolderConfiguration.pyR   «   s    R   R.   R"   N(   R   R   R   R    R   R   t   NoneRU   R\   R%   R&   R   R'   (   R   R   R)   R   R   R*   R%   (    (   R   R   sr   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/WatchFolderConfiguration.pyt   delete¢   s    $(   t   __name__t
   __module__R   R   R    R!   R+   R#   R,   R$   RC   R]   R_   (    (    (    sr   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/WatchFolderConfiguration.pyR   	   s   					
		K	
	c          C   s   t  ƒ  }  |  i d ƒ d  S(   Ns   /content/data/ingests   .*tart   10s>   com.tandbergtv.watchpoint.watchfolder.processes.DefaultProcesst   120112t   NORMALs   indemand.comt
   JacelTest2t    s   create,delete(   s   /content/data/ingests   .*tarRb   s>   com.tandbergtv.watchpoint.watchfolder.processes.DefaultProcessRc   Rd   s   indemand.comRe   Rf   s   create,deleteRb   (   R   R]   (   t   cf(    (    sr   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/WatchFolderConfiguration.pyt   mainµ   s    	t   __main__(
   R   R   R   t   xml.dom.minidomR    t   xml.sax.saxutilsR   R   Rh   R`   (    (    (    sr   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/WatchFolderConfiguration.pyt   <module>   s   ¬	