Ñò
ýÉªWc        	   @   sŠ   d  d k  Z  d  d k Z d  d k Z d  d k 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   HttpRequestDecoratort   Sitesc           B   se   e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 e
 e d d	 d
 „ ƒ Z RS(   sA   https://localhost:8443/siteservices/restful-services/siteservicesc         C   s0   t  i  i |  ƒ d |  _ d |  _ |  i ƒ  d  S(   Ns~   NAME, EXTERNALID, ACTIVE, DISTRIBUTION_OPTION, METADATA_FORMAT, FILE_LOOKUP_KEYS, DIST_TEMPLATE_NAME, ALERT_DELAY_PERIOD, TYPEt
   SITES_SITE(   t	   BaseClasst   __init__t   columnst   tablet   setSelectStatement(   t   self(    (    s_   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/Sites.pyR      s    		c         C   sO   | d } |  i  i d | ƒ |  i  i ƒ  } t | ƒ o | d d St Sd  S(   Ni    s*   SELECT ID_ FROM SITES_SITE WHERE NAME='%s'(   t   cursort   executet   fetchallt   lent   False(   R   t   datat   siteNamet   rows(    (    s_   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/Sites.pyt   checkExistence   s    
c         C   s%   |  i  i d ƒ |  i  i ƒ  d d S(   Ns+   SELECT WFS.SITES_SITE_SEQ.NEXTVAL FROM DUALi    (   R	   R
   R   (   R   (    (    s_   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/Sites.pyt	   getNextId   s    c         C   s  yà d } | d o  t  i  ƒ  i | d g ƒ } n d | | d | d | d | d | d | d	 | d
 | d | d | f } | GH|  i i | ƒ t i ƒ  } | i d d | d d d t ƒ o |  i ƒ  n |  i ƒ  Wn$ t	 j
 o } | GH|  i ƒ  n Xd  S(   Nt   nulli	   sò   INSERT INTO SITES_SITE (ID_, NAME, EXTERNALID, ACTIVE, DISTRIBUTION_OPTION, METADATA_FORMAT, FILE_LOOKUP_KEYS, DIST_TEMPLATE_NAME, ALERT_DELAY_PERIOD, TYPE, ASSOCIATED_RESOURCE_ID) VALUES (%s, '%s', '%s', %s, %s, '%s', '%s', '%s', %s, %s, %s)i    i   i   i   i   i   i   i   i   t    s   SITE_%s(
   t	   ResourcesR   R	   R
   t   Partnerst   handleR   t   committ   rollbackt	   Exception(   R   t   id_R   t   associateResouceIdt	   statementt   pt   e(    (    s_   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/Sites.pyt   insert!   s     L#c         C   sË   y  d } | d o  t  i  ƒ  i | d g ƒ } n d | d | d | d | d | d | d	 | d
 | d | | d f
 } | GH|  i i | ƒ |  i ƒ  SWn$ t j
 o } | GH|  i ƒ  n Xd  S(   NR   i	   sÙ   UPDATE SITES_SITE SET EXTERNALID='%s', ACTIVE=%s, DISTRIBUTION_OPTION=%s, METADATA_FORMAT='%s', FILE_LOOKUP_KEYS='%s', DIST_TEMPLATE_NAME='%s', ALERT_DELAY_PERIOD=%s, TYPE=%s, ASSOCIATED_RESOURCE_ID=%s WHERE NAME='%s'i   i   i   i   i   i   i   i   i    (   R   R   R	   R
   R   R   R   (   R   R   R   R   R   (    (    s_   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/Sites.pyt   update5   s     Ic   	      C   sÌ   | d } |  i  | ƒ } | t j o¢ t i h | d 6ƒ } |  i d | } t i | d ƒ } | d d d j o d | d GH| GHt Sd | d	 GHt i ƒ  } d
 t | ƒ } | i	 | d ƒ n d S(   sY    delete the site from table 'SITES_SITE' by site name
        data[0]: Site Name
        i    t   sitenames   /deletedistributionsite?%st   POSTt   statust   200s   Site: s    delete faileds    deletedt   SITE_i   N(
   R   R   t   urllibt	   urlencodet   SITE_SERVICE_LOCATIONR    t   requestR   t   strt   deleteDistributionPartner(	   R   R   R   t   siteIdt   paramt   urlt   respR   t   partnerName(    (    s_   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/Sites.pyt   deleteF   s    
c         C   sc   d } | d d j p t | d ƒ o d S|  i i | | d ƒ |  i i ƒ  } | d } | S(   s$   
        args[0]: site name
        s  SELECT SS.NAME, SS.EXTERNALID, SS.ACTIVE, SS.DISTRIBUTION_OPTION, SS.METADATA_FORMAT, SS.FILE_LOOKUP_KEYS, SS.DIST_TEMPLATE_NAME, SS.ALERT_DELAY_PERIOD, SS.TYPE, TR.NAME FROM SITES_SITE SS LEFT OUTER JOIN TTV_RESOURCE TR ON (SS.ASSOCIATED_RESOURCE_ID = TR.RESOURCEID) WHERE SS.NAME='%s'i    N(   t   NoneR   R	   R
   R   (   R   t   argst   siteStatementt   siteRowst   result(    (    s_   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/Sites.pyt   backUpExisting]   s    #
i   i<   c         C   sµ   | } x• |  o | d j o€ yO t  i t i d d ƒ } | d d d j o
 d GHt Sd t | ƒ d GHWn t j
 o n Xt i | ƒ | | } q	 Wd	 t | ƒ d
 GHt	 S(   Ni    s   /deletedistributionsitet   GETR$   t   405s   Site Service is ups%   Site Service is not up yet, wait for s    seconds to check again.s#   Site Service is still not up after s#    seconds. Please check the network.(
   R    R*   R   R)   t   TrueR+   R   t   timet   sleepR   (   t	   waitForUpt   intervalt   timeoutt
   timeToWaitR0   (    (    s_   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/Sites.pyt    checkAndWaitSiteServiceAvailable{   s     (   t   __name__t
   __module__R)   R   R   R   R    R!   R2   R8   t   staticmethodR;   RB   (    (    (    s_   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/Sites.pyR   	   s   								c           C   s   d t  _ t  i ƒ  d  S(   NsC   https://10.116.5.99:8443/siteservices/restful-services/siteservices(   R   R)   RB   (    (    (    s_   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/Sites.pyt   main   s    	t   __main__(	   R   R   R   R'   R<   R    R   RF   RC   (    (    (    s_   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/Sites.pyt   <module>   s   „	