Ńň
ýÉŞ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   fnmatch(   t   CMSVersionDeploymentPolicyt   Partnersc           B   sP   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 RS(   c         C   s?   t  i  i |   d |  _ d |  _ |  i   |  i d 7_ d  S(   Ns(   NAME, PARTNERTYPE, PROVIDERID, LOOKUPKEYt   PMM_PARTNERs$    WHERE PARTNERTYPE!=1 AND ISACTIVE=1(   t	   BaseClasst   __init__t   columnst   tablet   setSelectStatementt   selectStatement(   t   self(    (    sb   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/Partners.pyR      s
    		
c         C   sa   | d } | d j o t  S|  i i d |  |  i i   } t |  o | d d St  Sd  S(   Ni    t    s@   SELECT ID_ FROM PMM_PARTNER WHERE PROVIDERID='%s' AND ISACTIVE=1(   t   Falset   cursort   executet   fetchallt   len(   R
   t   datat
   providerIdt   rows(    (    sb   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/Partners.pyt   checkExistence   s    
c         C   sE   |  i  i d  |  i  i d  |  i  i d  |  i  i   d d S(   Ns,   SELECT WFS.PMM_CONTEXT_SEQ.NEXTVAL FROM DUALs,   SELECT WFS.PMM_PARTNER_SEQ.NEXTVAL FROM DUALs,   SELECT WFS.PMM_CONTACT_SEQ.NEXTVAL FROM DUALi    (   R   R   R   (   R
   (    (    sb   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/Partners.pyt	   getNextId   s    c      	   C   sd  t  i    } y0| d } d | } | GH|  i i |  t i   d j o> d |  i | g d d | g t | d   d g  } n0 d	 |  i | g d t | d   d g  } | GH|  i i |  d
 | | f } | GH|  i i |  x< | d D]0 } | i | | f  p | i | |  qý qý W|  i	   SWn! t
 j
 o } | GH|  i   SXd S(   sH   data: (PROVIDERID,NAME,PARTNERTYPE,LOOKUPKEY,CONTENTCLASSNAME,IS_DELETE)i    s=   INSERT INTO PMM_CONTEXT (ID_, CONTAINERTYPEID) VALUES (%s, 1)g      @sx   INSERT INTO PMM_PARTNER (ID_, CONTEXTID, AFFILIATION_CODE, PROVIDERID, NAME, PARTNERTYPE, LOOKUPKEY, ISACTIVE) VALUES %si   s   %05di   i   sf   INSERT INTO PMM_PARTNER (ID_, CONTEXTID, PROVIDERID, NAME, PARTNERTYPE, LOOKUPKEY, ISACTIVE) VALUES %ss8   INSERT INTO PMM_CONTACT (ID_, PARTNERID) VALUES (%s, %s)N(   t   ContentClassPartnersR   R   R   t   getCMSVersiont
   tupleToStrt   listR   t   insertt   committ	   Exceptiont   rollback(   R
   t   id_R   t   cpR   t	   statementt   contentClasst   e(    (    sb   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/Partners.pyR   $   s0    

;, c         C   sŇ   t  i    } y | d } d | d | d | d | f } | GH|  i i |  | i | g  x< | d D]0 } | i | | f  p | i | |  qk qk W|  i   SWn! t j
 o } | GH|  i   SXd S(   sI   data: (PROVIDERID, NAME,PARTNERTYPE,LOOKUPKEY,CONTENTCLASSNAME,IS_DELETE)i    sY   UPDATE PMM_PARTNER SET NAME='%s', PARTNERTYPE='%s', LOOKUPKEY='%s' WHERE PROVIDERID='%s' i   i   i   i   N(	   R   R   R   t   deleteR   R   R   R   R   (   R
   R   R   R   R    R!   R"   (    (    sb   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/Partners.pyt   updateD   s    
" c   	      C   s=  | d } |  i  | f  } | t j o d Syç d | } | GH|  i i |  d | } | GH|  i i |  |  i i   } t |  o | d } n d } t i   } | i | g  d | } | GH|  i i |  | d j o# d | } | GH|  i i |  n |  i   SWn! t	 j
 o } | GH|  i
   SXd S(   s   
		data[0]: Provider Id

		i    Ns,   DELETE FROM PMM_CONTACT WHERE PARTNERID='%s's0   SELECT CONTEXTID FROM PMM_PARTNER WHERE ID_='%s'i˙˙˙˙s&   DELETE FROM PMM_PARTNER WHERE ID_='%s's&   DELETE FROM PMM_CONTEXT WHERE ID_='%s'(   R   R   R   R   t   fetchoneR   R   R#   R   R   R   (	   R
   R   R   t	   partnerIdR    t   rowt	   contextIdR   R"   (    (    sb   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/Partners.pyR#   [   s8    




c         C   s	  yá d | | f } | GH|  i  i |  |  i  i   } | d } d | } | GH|  i  i |  d | } | GH|  i  i |  |  i  i   } | d } d | } | GH|  i  i |  d | } | GH|  i  i |  |  i   SWn! t j
 o } | GH|  i   SXd S(   sT   this delete method is only used to delete partner whose partner type is DISTRIBUTIONsD   SELECT ID_ FROM PMM_PARTNER WHERE NAME = '%s' AND PARTNERTYPE = '%s'i    s,   DELETE FROM PMM_CONTACT WHERE PARTNERID='%s's0   SELECT CONTEXTID FROM PMM_PARTNER WHERE ID_='%s's&   DELETE FROM PMM_PARTNER WHERE ID_='%s's&   DELETE FROM PMM_CONTEXT WHERE ID_='%s'N(   R   R   R%   R   R   R   (   R
   t   partnerNamet   partnerTypeR    R'   R&   R(   R"   (    (    sb   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/Partners.pyt   deleteDistributionPartner   s0    





c         C   s  d } d } | d d j p t | d  o d S| d } |  i i | |  g  } |  i i   } x | D] } | i | d  qn W|  i i | |  |  i i   } d }	 d }
 t |  o7 t | d  d j o  | d d }	 | d d }
 n | g g |	 |
 g | g } | S(   s#   
		Input:
			args[0]: ProviderId
		sT   SELECT  ID_, NAME, PARTNERTYPE FROM PMM_PARTNER WHERE PROVIDERID='%s' AND ISACTIVE=1sČ   SELECT CC.NAME AS CONTENTCLASSNAME FROM PMM_CONTENT_CLASS_PARTNER CCP JOIN PMM_CONTENT_CLASS CC ON (CCP.CONTENT_CLASS_ID = CC.ID) JOIN PMM_PARTNER P ON (CCP.PARTNER_ID = P.ID_) WHERE P.PROVIDERID='%s'i    NR   i   i   (   t   NoneR   R   R   R   t   append(   R
   t   argst   partnersStatementt   contentClassStatementR   t   contentClassest   contentClassNamesRowst   contentClassRowt   partnerR)   R*   t   result(    (    sb   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/Partners.pyt   backUpExistingŞ   s(    #
 $(
   t   __name__t
   __module__R   R   R   R   R$   R#   R+   R6   (    (    (    sb   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/Partners.pyR      s   				 		.	!c          C   s9   t    }  |  i d d d d  |  i d d d d  d  S(   Nt   indemandi   s   indemand.comi   s   testscript.com(   R   R#   t   add(   t   p(    (    sb   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/Partners.pyt   mainŮ   s    	t   __main__(   R   R   R    R   R   R<   R7   (    (    (    sb   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/Partners.pyt   <module>   s   Ň	