ó
Dª\c           @   sÚ   d  d l  Td  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d „  Z i e d ƒ d 6e d ƒ d 6e d ƒ d	 6e d
 ƒ d 6e d ƒ d 6e d ƒ d 6e d ƒ d 6e d ƒ d 6Z d e j	 f d „  ƒ  YZ
 d S(   iÿÿÿÿ(   t   *Nc         C   s   t  j d |  d ƒ S(   Ns   getPluginResource("MASH", "s   ")(   t   melt   eval(   t   name(    (    sN   S:/Maya_2019_DI/build/Release/runTime/plug-ins/MASH/scripts/MayaToAE/client.pyt   getResource
   s    t   kM2AE_Connecting_To_AAEs'   Connecting to Adobe(R) After Effects(R)t   kM2AE_Link_Establisheds   Live link established.t   kM2AE_Conn_Establisheds   Connection establishedt   kM2AE_SMessage_Faileds   Sending message failed.t   kM2AE_Connection_Closeds   Connection closedt   kM2AE_Link_Faileds   Live link failedt   kM2AE_ClosingC_Faileds   Closing connection failed.t   kM2AE_Link_Disconnecteds   Live link disconnected.t   AEClientc           B   sk   e  Z e j e ƒ Z d  Z d Z d „  Z d „  Z	 d „  Z
 d „  Z d „  Z d „  Z d „  Z d	 „  Z RS(
   t	   localhosti³"  c         C   s2   t  t |  ƒ j ƒ  d  |  _ t |  _ t |  _ d  S(   N(   t   superR   t   __init__t   Nonet   sockett   Falset	   isRunningt   isSocketConnected(   t   self(    (    sN   S:/Maya_2019_DI/build/Release/runTime/plug-ins/MASH/scripts/MayaToAE/client.pyR      s    		c         C   sL   |  j  sH t |  _  t j j t d ƒ t j d |  j ƒ } | j	 ƒ  n  d  S(   Ns'   Connecting to Adobe(R) After Effects(R)t   target(
   R   t   Truet   nomt   MGlobalt   displayInfot   _SRt	   threadingt   Threadt   tryConnectUntilConnectedt   start(   R   t   listener(    (    sN   S:/Maya_2019_DI/build/Release/runTime/plug-ins/MASH/scripts/MayaToAE/client.pyt   run%   s
    		c         C   s   x4 |  j  r6 |  j r6 |  j ƒ  r& Pn  t j d ƒ q W|  j  r} t j j d t d d ƒ |  j	 j
 t d ƒ |  j ƒ  n  d  S(   Ni   s   # s   Live link established.s    #s   Connection established(   R   R   t   establishConnectiont   timet   sleepR   R   R   R   t   receivert   emitt   listenForMsg(   R   (    (    sN   S:/Maya_2019_DI/build/Release/runTime/plug-ins/MASH/scripts/MayaToAE/client.pyR   ,   s    	c         C   s|   yX t  j  t  j t  j ƒ |  _  |  j  j d ƒ |  j  j |  j |  j f ƒ t |  _ t SWn t	 k
 rw } t
 |  _ t
 SXd  S(   Ni   (   R   t   AF_INETt   SOCK_STREAMt
   settimeoutt   connectt   hostt   portR   R   t	   ExceptionR   (   R   t   e(    (    sN   S:/Maya_2019_DI/build/Release/runTime/plug-ins/MASH/scripts/MayaToAE/client.pyR#   7   s    		c         C   sa   y, |  j  j t t | ƒ ƒ d | ƒ t SWn. t k
 r\ } t j t d ƒ t	 |  _
 t	 SXd  S(   Nt   >s   Sending message failed.(   R   t   sendt   strt   lenR   R/   t   cmdst   warningR   R   R   (   R   t   msgR0   (    (    sN   S:/Maya_2019_DI/build/Release/runTime/plug-ins/MASH/scripts/MayaToAE/client.pyt   sendMsgB   s    $	c         C   s2  yþ d } xñ |  j  rü |  j rü yÄ |  j j d ƒ } t | ƒ d k rg |  j j t d ƒ |  j ƒ  d  S| | 7} | j	 d ƒ } | d k rá t
 | |  ƒ } t | ƒ | | k rá |  j j | | d | d | !ƒ d } qá n  Wq t j k
 rø q Xq WWn- t k
 r-} t j t d ƒ t |  _ n Xd  S(   Nt    i   i    s   Connection closedR1   i   s   Live link failed(   R   R   R   t   recvR4   R&   R'   R   t   closeConnectiont   findt   intt   timeoutR/   R5   R6   R   t   isConnected(   R   R7   t   respt   indext   lengthR0   (    (    sN   S:/Maya_2019_DI/build/Release/runTime/plug-ins/MASH/scripts/MayaToAE/client.pyR(   K   s*    

#c         C   s   |  j  o |  j S(   N(   R   R   (   R   (    (    sN   S:/Maya_2019_DI/build/Release/runTime/plug-ins/MASH/scripts/MayaToAE/client.pyR?   d   s    c         C   sŠ   |  j  r† t |  _  y$ |  j j t j ƒ |  j j ƒ  Wn$ t k
 r\ } t j t	 d ƒ n Xd  |  _ t |  _ t j j t	 d ƒ n  d  S(   Ns   Closing connection failed.s   Live link disconnected.(   R   R   R   t   shutdownt	   SHUT_RDWRt   closeR/   R5   R6   R   R   R   R   R   R   (   R   R0   (    (    sN   S:/Maya_2019_DI/build/Release/runTime/plug-ins/MASH/scripts/MayaToAE/client.pyR;   g   s    				(   t   __name__t
   __module__t   qtt   SignalR3   R&   R-   R.   R   R"   R   R#   R8   R(   R?   R;   (    (    (    sN   S:/Maya_2019_DI/build/Release/runTime/plug-ins/MASH/scripts/MayaToAE/client.pyR      s   								(   t   maya.app.flux.importsR   R   t	   tracebackt   selectR$   R   R   RH   t   QObjectR   (    (    (    sN   S:/Maya_2019_DI/build/Release/runTime/plug-ins/MASH/scripts/MayaToAE/client.pyt   <module>   s    
	