ž
â»‡V2  c               @   sG  i d  d 6d d 6d d 6Z  d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d Z d	 a d
 a	 d a
 dT a d Z d a dV a d a d a d a dW a dW Z d a d a d a d a d Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d  d! „  Z  d" d# „  Z! d$ d% „  Z" d& d' „  Z# d( d) „  Z$ d* d+ „  Z% d, d- „  Z& d. d/ „  Z' d0 d1 „  Z( d2 d3 „  Z) d4 d5 „  Z* d6 d7 „  Z+ d8 d9 „  Z, d: d; „  Z- d< d= „  Z. d> d? „  Z/ d@ dA „  Z0 dB dC „  Z1 dD dE „  Z2 dF dG „  Z3 dH dI „  Z4 dJ dK „  Z5 dL dM „  Z6 dN dO „  Z7 dP dQ „  Z8 dR dS „  Z9 d S(X   u   RendServ-OrderLine (dummy)u   nameu   Renderu   categoryu   RSu   authori    Nu   192.168.1.111u   92.230.194.92u	   127.1.1.1g      @i   i<   iú   iè  iÈ   u    rendserv-orderline-protocol-v1.1i Ã  u	   (invalid)g        u    c             C   sV   t  j  j ƒ  } | j ƒ  } t r< t |  d t | ƒ ƒ n  | t j ƒ  } | a | S(   Nu    on (   u   datetimeu   todayu	   isoformatu   log_timeu   pu   stru   last_time_labelu   total_seconds(   u   labelu   cu   su   d(    (    u3   N:\PowerRender\RendServClient\addons\rendserv_ol.pyu   tlog   s    u   tlogc             C   sw   t  |  ƒ d	 } | d k r) | | } n d } d } | d | 7} | d | 7} | d | 7} | d t |  ƒ 7} | S(
   Niè  g     @@i    u   transfer ok.u	    %0.2f MBu    in %0.2f su    -> rate=%0.2f MB/s u	    %s bytesg    €„.A(   u   intu   str(   u   flenu   transfer_secondsu   MBu   MBpsu   msg(    (    u3   N:\PowerRender\RendServClient\addons\rendserv_ol.pyu   transfer_msg#   s    u   transfer_msgc              C   s‰   d }  t  d  k r d  Sy: d d  l } | j d d d d d d d	 d
 d d ƒ a  Wn( t d ƒ d } t t j ƒ  ƒ Yn Xt d ƒ d  S(   Ni	   i    u   hostu   192.168.1.80u   unix_socketu   /var/run/mysqld/mysqld.socku   useru   mysqlu   passwdu   masteru   dbu   rsu   open: error with database.u   (error with database.)u   sql connection opened.(   u   mysql_connectionu   Noneu   pymysqlu   connectu   pu	   tracebacku
   format_exc(   u   Qu   pymysqlu   pw(    (    u3   N:\PowerRender\RendServClient\addons\rendserv_ol.pyu
   open_mysql/   s     .
u
   open_mysqlc           	   C   sg   d }  t  d  k r d  Sy" t  j ƒ  t  j ƒ  t d ƒ Wn( t d ƒ d } t t j ƒ  ƒ Yn Xd  S(   Ni	   u   ol: cm: sql connection closed.u#   ol: cm: close: error with database.u   (error with database.)(   u   mysql_connectionu   Noneu   commitu   closeu   pu	   tracebacku
   format_exc(   u   Qu   pw(    (    u3   N:\PowerRender\RendServClient\addons\rendserv_ol.pyu   close_mysql;   s     


u   close_mysqlc          	   C   sè   d } d } yZ t ƒ  t j ƒ  } | j d |  d ƒ x! | D] } | \ } t | ƒ q> W| j ƒ  Wn( t d ƒ d } t t j ƒ  ƒ Yn Xd } | | k r¬ d	 } n8 d } | | 7} | d 7} | | 7} | d 7} t | ƒ | S(
   Nu   (none.)u.   SELECT  password  FROM user WHERE email like 'u   'u   error with database.u   (error with database.)u   wrong password: 'u
   ' right: 'FT(
   u   Falseu
   open_mysqlu   mysql_connectionu   cursoru   executeu   pu   closeu	   tracebacku
   format_excu   True(   u   idu   pwu   oku   pw_dbu   curu   ru   m(    (    u3   N:\PowerRender\RendServClient\addons\rendserv_ol.pyu
   check_userG   s0    	
	




u
   check_userc             C   s
   d } d  S(   Ni	   (    (   u   whatu   Q(    (    u3   N:\PowerRender\RendServClient\addons\rendserv_ol.pyu	   p_nothingc   s    u	   p_nothingc             C   s   t  |  ƒ d  S(   N(   u   print(   u   s(    (    u3   N:\PowerRender\RendServClient\addons\rendserv_ol.pyu   print_ServerMone   s    u   print_ServerMonc                s¿   t  r ‡  f d d †  a n t a t j j ƒ  a d a d t } t | ƒ t j t j t j	 ƒ } | j
 d
 ƒ | j ƒ  d a | j ƒ  t d t ƒ t d	 t ƒ t t k r» t ƒ  n  d  S(   Nc                s   ˆ  d t  |  ƒ ƒ S(   Nu   ol: (   u   str(   u   arg(   u   pr(    u3   N:\PowerRender\RendServClient\addons\rendserv_ol.pyu   <lambda>n   s    u    orderline_init.<locals>.<lambda>u   192.168.1.111u   server ip: u	   gmail.comiP   i    u   myip: u   myfile: (   u	   gmail.comiP   (   u   print_debugu   pu	   p_nothingu   datetimeu   todayu   last_time_labelu	   server_ipu   socketu   AF_INETu
   SOCK_DGRAMu   connectu   getsocknameu   my_ipu   closeu   __file__u
   open_mysql(   u   pru   msgu   s(    (   u   pru3   N:\PowerRender\RendServClient\addons\rendserv_ol.pyu   orderline_initg   s    


u   orderline_initc               C   s   t  ƒ  d  S(   N(   u   close_mysql(    (    (    u3   N:\PowerRender\RendServClient\addons\rendserv_ol.pyu   orderline_close}   s    u   orderline_closec          	   C   s3  d } y|  a  d } t  | ƒ t j d ƒ a d t } t  | ƒ t j t j t j ƒ } | j d ƒ | j ƒ  d } | j ƒ  t  d | ƒ | t	 k r¹ t  d	 ƒ t
 ƒ  t  d
 ƒ nZ t  d ƒ t ƒ  t d  k rä t  d ƒ d  St d ƒ t d ƒ t d ƒ t ƒ  t  d ƒ Wn t  t j ƒ  ƒ Yn Xd  S(   Ni	   u   doing my testsu   f99.no-ip.orgu   server ip: u	   gmail.comiP   i    u   myip: u   doing server.u   server done.u   doing client.u   connect failed.u	   Job.blendu   exitu   disconnected.(   u	   gmail.comiP   (   u   pu   socketu   gethostbynameu	   server_ipu   AF_INETu
   SOCK_DGRAMu   connectu   getsocknameu   closeu   server_local_ipu
   serverloopu   client_connectu   ol_socku   Noneu   client_putfileu   client_getfileu   ol_send_msgu
   disconnectu	   tracebacku
   format_exc(   u   pru   Qu   msgu   su   ip(    (    u3   N:\PowerRender\RendServClient\addons\rendserv_ol.pyu   orderline_test   s:    









u   orderline_testc              C   s9  t  ƒ  r d  Sd  }  t j t j t j ƒ } | j t j t j d ƒ | j d t	 f ƒ | j
 d ƒ t d ƒ | j ƒ  \ }  } t d t | ƒ ƒ |  a t ƒ  } | t k rÜ t d t | ƒ d ƒ t d ƒ t ƒ  d  St d ƒ t ƒ  } t d ƒ t ƒ  } t | | ƒ r$| a t d ƒ n t d	 ƒ t ƒ  d  S(
   Ni   u    u   order line server:wait for conu   order line server:con found: u+   err: attempt to connect with protocol-id: 'u   'u   sorry, not supported.u   ok.u   sorry, no auth.(   u	   connectedu   Noneu   socketu   AF_INETu   SOCK_STREAMu
   setsockoptu
   SOL_SOCKETu   SO_REUSEADDRu   bindu   port_numberu   listenu   pu   acceptu   stru   ol_socku
   ol_get_msgu   protocol_idu   ol_send_msgu
   disconnectu
   check_useru   AccountInCharge(   u   conu   socku   addru   pidu   user_idu   user_pw(    (    u3   N:\PowerRender\RendServClient\addons\rendserv_ol.pyu   server_connect¡   s6    	
	

	
	
u   server_connectc             C   s˜  t  ƒ  r d  Sd  } t j t j t j ƒ } | j t j t j d ƒ | j t	 ƒ t
 d t	 ƒ t
 d ƒ y | j t t f ƒ WnW t k
 rÙ } z7 d t t	 ƒ } | d t | ƒ } t
 | ƒ | SWYd  d  } ~ Xn Xt
 d ƒ | j t ƒ t
 d t ƒ | a t t ƒ t ƒ  } | d k rCd	 | } t
 | ƒ t ƒ  | St |  ƒ t ƒ  } t | ƒ t ƒ  } | d k r”d
 | } t
 | ƒ t ƒ  | Sd S(   Ni   u   set timeout to %0.2f u   order line client: wait for conu?   ol.client_connect: no connection possible / timed out (%s sec).u    e:u   order line client:connectedu   set timeout to %0.2fu   ok.u'   c-con: the pid seems not ok (or busy): u   c-con: the pw seems not ok: (   u	   connectedu   Noneu   socketu   AF_INETu   SOCK_STREAMu
   setsockoptu
   SOL_SOCKETu   SO_REUSEADDRu
   settimeoutu
   cc_secondsu   pu   connectu	   server_ipu   port_numberu	   Exceptionu   stru   timeout_secondsu   ol_socku   ol_send_msgu   protocol_idu
   ol_get_msgu
   disconnect(   u   user_idu   user_pwu   socku   Eu   msgu   m(    (    u3   N:\PowerRender\RendServClient\addons\rendserv_ol.pyu   client_connectÇ   sH    	



	


	
	

u   client_connectc               C   s!   t  ƒ  s d  St j ƒ  d  a d  S(   N(   u	   connectedu   ol_socku   closeu   None(    (    (    u3   N:\PowerRender\RendServClient\addons\rendserv_ol.pyu
   disconnectñ   s    	
u
   disconnectc              C   s   d }  t d  k r d }  n  |  S(   NFT(   u   Falseu   ol_socku   Noneu   True(   u   ok(    (    u3   N:\PowerRender\RendServClient\addons\rendserv_ol.pyu	   connected÷   s    	u	   connectedc               C   s   d t  _ t  j t ƒ S(   Nu   ol: (   u   rendserv_blu	   bl_prefixu   get_msgu   ol_sock(    (    (    u3   N:\PowerRender\RendServClient\addons\rendserv_ol.pyu
   ol_get_msgü   s    	u
   ol_get_msgc             C   s   d t  _ t  j t |  ƒ d  S(   Nu   ol: (   u   rendserv_blu	   bl_prefixu   send_msgu   ol_sock(   u   msg(    (    u3   N:\PowerRender\RendServClient\addons\rendserv_ol.pyu   ol_send_msgÿ   s    	u   ol_send_msgc             C   s   d t  _ t  j t |  ƒ S(   Nu   ol: (   u   rendserv_blu	   bl_prefixu	   get_bytesu   ol_sock(   u   size(    (    u3   N:\PowerRender\RendServClient\addons\rendserv_ol.pyu   ol_get_bytes  s    	u   ol_get_bytesc             C   s   d t  _ t  j t |  ƒ d  S(   Nu   ol: (   u   rendserv_blu	   bl_prefixu
   send_bytesu   ol_sock(   u   msg(    (    u3   N:\PowerRender\RendServClient\addons\rendserv_ol.pyu   ol_send_bytes  s    	u   ol_send_bytesc       
      C   s7  t  j j |  ƒ \ } } | } t  j j |  ƒ } | t k rV t d | d t ƒ d  St |  d ƒ } | j ƒ  } | j t	 d ƒ t
 ƒ  t	 | ƒ t
 ƒ  t	 t | ƒ ƒ t
 ƒ  } t j t ƒ t d t ƒ t d ƒ t | ƒ t
 ƒ  t d ƒ } t j t ƒ t d t ƒ t | | ƒ }	 t d |	 ƒ | a d  S(	   Nu'   c-p: err: file of %d bytes is too long.u    limit: %d bytes.u   rbu   putfileu   set timeout to %0.2fu   transfer startu   transfer endu   client put file: (   u   osu   pathu   splitu   getsizeu   transfer_limit_bytesu   pu   openu   readu   closeu   ol_send_msgu
   ol_get_msgu   stru   ol_socku
   settimeoutu   timeout_waiting_orderu   tlogu   ol_send_bytesu   timeout_secondsu   transfer_msgu   up(
   u   fnameu   f_pathu   f_fileu   fname2u   flenu   fu   bu   eu   transfer_secondsu   msg(    (    u3   N:\PowerRender\RendServClient\addons\rendserv_ol.pyu   client_putfile  s6    

	

u   client_putfilec              C   sí   t  d ƒ t ƒ  }  t  d ƒ t ƒ  } t | ƒ t k rR t  d | d t ƒ d  St  d ƒ t d ƒ t t | ƒ ƒ } t d ƒ } |  } t j j t	 |  ƒ } t
 | d ƒ } | j | ƒ | j t | | ƒ } t d	 | ƒ t  d
 ƒ |  S(   Nu   done:cmd acceptedu   done:fnu'   s-g: err: file of %d bytes is too long.u    limit: %d bytes.u	   done:flenu   transfer startu   transfer endu   wbu   server get file: u   done. (   u   ol_send_msgu
   ol_get_msgu   intu   transfer_limit_bytesu   tlogu   ol_get_bytesu   osu   pathu   joinu   orderhead_filepathu   openu   writeu   closeu   transfer_msgu   p(   u   fnameu   flenu   itu   transfer_secondsu   fname2u   fu   msg(    (    u3   N:\PowerRender\RendServClient\addons\rendserv_ol.pyu   server_getfile%  s(    
	
	


u   server_getfilec       	      C   sP  t  d ƒ t ƒ  } | d k r- t d ƒ d  St  |  ƒ t ƒ  t  d ƒ t ƒ  } t | ƒ t k r} t d | d t ƒ d  St  d ƒ t d ƒ t t | ƒ ƒ } t d	 ƒ } t | | ƒ } t d
 | ƒ | a t	 j
 ƒ  } t	 j j | | ƒ } t d | ƒ | } t d t	 j
 ƒ  ƒ t d | ƒ t | d ƒ } | j | ƒ | j | S(   Nu   getfileu   done:cmd getfile acceptedu4   c-gf: protocol err: expected 'cmd getfile accepted'.u   ok.u'   c-p: err: file of %d bytes is too long.u    limit: %d bytes.u   fileu   transfer startu   transfer endu   client get file: u	   wi-file: u   cwd: u   try to write: u   wb(   u   ol_send_msgu
   ol_get_msgu   pu   intu   transfer_limit_bytesu   tlogu   ol_get_bytesu   transfer_msgu   downu   osu   getcwdu   pathu   joinu   openu   writeu   close(	   u   fnameu   outfileu   msgu   flenu   bu   transfer_secondsu   pau   win_fileu   f(    (    u3   N:\PowerRender\RendServClient\addons\rendserv_ol.pyu   client_getfile;  s:    
	


	

u   client_getfilec              C   sù   t  d ƒ t ƒ  }  t d |  ƒ t j j t |  ƒ } t j j | ƒ } | t k rn t d | d t ƒ d  St  d ƒ t ƒ  t  t	 | ƒ ƒ t ƒ  t
 | d ƒ } | j ƒ  } | j t d ƒ t | ƒ t d ƒ } t | | ƒ } t d	 | ƒ d  S(
   Nu   done:cmd getfile acceptedu   server putfile name:u'   c-p: err: file of %d bytes is too long.u    limit: %d bytes.u   done:cmd acceptedu   rbu   transfer startu   transfer endu   server put file: (   u   ol_send_msgu
   ol_get_msgu   pu   osu   pathu   joinu   orderhead_filepathu   getsizeu   transfer_limit_bytesu   stru   openu   readu   closeu   tlogu   ol_send_bytesu   transfer_msg(   u   fnameu   fname2u   flenu   fu   bu   transfer_secondsu   msg(    (    u3   N:\PowerRender\RendServClient\addons\rendserv_ol.pyu   server_putfile[  s(    
	


u   server_putfilec              C   sË   d }  t  d |  ƒ t j |  ƒ t d |  ƒ d } t d ƒ xA | d d d  … k r‚ | d	 k r‚ t ƒ  } t d
 | d ƒ qB Wt d ƒ t j t ƒ t d t ƒ | d k rÇ t d | ƒ ‚ n  d  S(   Ni<   iú   u.   client waiting up to %d seconds for result:...u   set timeout to %0.2fu   (dummy)u   cwdl: its done when its done.u   waiting done.i   u    u   cwdl: 'u   'u   cwdl: seems to be done.u   cwdl: set timeout to %0.2fu5   OrderLine: client waiting: something is wrong. m='%s'i˜:  ióÿÿÿ(   u   ol_send_msgu   ol_socku
   settimeoutu   pu
   ol_get_msgu   timeout_secondsu   RuntimeError(   u   timeout_waiting_result_filmu   msg(    (    u3   N:\PowerRender\RendServClient\addons\rendserv_ol.pyu   client_waiting_display_logq  s    
%	
u   client_waiting_display_logc              C   sp   t  d t ƒ t j t ƒ t d t ƒ t ƒ  }  t j t ƒ t d t ƒ |  d k rl t d |  ƒ ‚ n  d  S(   Nu.   client waiting up to %d seconds for result:...u   set timeout to %0.2fu   waiting done.u5   OrderLine: client waiting: something is wrong. m='%s'(   u   ol_send_msgu   timeout_waiting_resultu   ol_socku
   settimeoutu   pu
   ol_get_msgu   timeout_secondsu   RuntimeError(   u   msg(    (    u3   N:\PowerRender\RendServClient\addons\rendserv_ol.pyu   client_waiting‚  s    	u   client_waitingc              C   s   t  ƒ  }  d  S(   N(   u
   ol_get_msg(   u   msg(    (    u3   N:\PowerRender\RendServClient\addons\rendserv_ol.pyu   server_waiting_start  s    u   server_waiting_startc               C   s   t  d ƒ d  S(   Nu   waiting done.(   u   ol_send_msg(    (    (    u3   N:\PowerRender\RendServClient\addons\rendserv_ol.pyu   server_waiting_end  s    u   server_waiting_endc             C   s•   t  d ƒ t ƒ  } | d k r2 t d | ƒ ‚ n  t  | ƒ t ƒ  d | k r\ t |  ƒ n  t ƒ  t  d ƒ t ƒ  } t | | ƒ } d } | | f S(   Nu
   renderfilmu   ok to render.u   ol: client renderfilm: '%s'u   jobfile-downloadu   tell-filenameu   ok.(   u   ol_send_msgu
   ol_get_msgu   RuntimeErroru   client_putfileu   client_waiting_display_logu   client_getfile(   u   fnu   outfileu   instructionsu   msgu   fnameu   f(    (    u3   N:\PowerRender\RendServClient\addons\rendserv_ol.pyu   client_renderfilm‘  s    
	

	u   client_renderfilmc             C   sV   t  d ƒ t ƒ  } | d k r2 t d | ƒ ‚ n  t |  ƒ t ƒ  t d | ƒ } | S(   Nu   renderu   ok to render.u   ol: client render: '%s'u   out.png(   u   ol_send_msgu
   ol_get_msgu   RuntimeErroru   client_putfileu   client_waitingu   client_getfile(   u   fnu   outfileu   msgu   f(    (    u3   N:\PowerRender\RendServClient\addons\rendserv_ol.pyu   client_render   s    
	
u   client_renderc              C   sõ   t  d ƒ t d ƒ t ƒ  t  d ƒ }  t } t t | ƒ ƒ t ƒ  } t j | d ƒ } t j j t j	 | ƒ ƒ } t
 | | j ƒ  ƒ } t t | ƒ ƒ t t ƒ  ƒ } t
 | | ƒ } t d |  | | f ƒ t d | ƒ t d t | ƒ ƒ d  S(   Nu   sync t1u   syncu   sync t2u   %Y-%m-%d %H:%M:%S.%fu4   net time delay: %0.4f delta: %0.4f precision: %0.4f u   servertime %su   clienttime %s(   u   tlogu   ol_send_msgu
   ol_get_msgu   last_time_labelu   stru   timeu   strptimeu   datetimeu   fromtimestampu   mktimeu   absu   total_secondsu   floatu   p(   u   delayu   mytimeu   ou   o_su	   othertimeu   deltau
   otherdeltau	   precision(    (    u3   N:\PowerRender\RendServClient\addons\rendserv_ol.pyu   client_sync©  s     

	u   client_syncc              C   sî   t  d ƒ t d ƒ t ƒ  }  t  d ƒ } t j |  d ƒ } t j j t j | ƒ ƒ } t } t t	 | ƒ ƒ t
 | | j ƒ  ƒ } t t ƒ  ƒ } t t	 | ƒ ƒ t
 | | ƒ } t d | | | f ƒ t d t	 | ƒ ƒ t d |  ƒ d  S(   Nu   sync t1u   ok to sync.u   sync t2u   %Y-%m-%d %H:%M:%S.%fu4   net time delay: %0.4f delta: %0.4f precision: %0.4f u   servertime %su   clienttime %s(   u   tlogu   ol_send_msgu
   ol_get_msgu   timeu   strptimeu   datetimeu   fromtimestampu   mktimeu   last_time_labelu   stru   absu   total_secondsu   floatu   p(   u   ou   delayu   o_su	   othertimeu   mytimeu   deltau
   otherdeltau	   precision(    (    u3   N:\PowerRender\RendServClient\addons\rendserv_ol.pyu   server_syncº  s    

	u   server_syncc              C   s´   t  ƒ  t d  k r d  Sd }  x t ƒ  } | d k rJ t d ƒ t ƒ  d  S| d k rk t d ƒ t ƒ  d  S| d k r t ƒ  n  | d k r— t ƒ  n  | d k r  t ƒ  q  q  d  S(	   Nu	   Job.blendu    u%   orderline serverloop broken by clientu   exitu'   orderline serverloop finished by clientu   putfileu   getfileu   sync(	   u   server_connectu   ol_socku   Noneu
   ol_get_msgu   pu
   disconnectu   server_getfileu   server_putfileu   server_sync(   u   jobfilenameu   cmd(    (    u3   N:\PowerRender\RendServClient\addons\rendserv_ol.pyu
   serverloopÊ  s(    	



u
   serverloopið   i@B i ÂëT(:   u   bl_infou   socketu   osu	   tracebacku   datetimeu   timeu   rendserv_blu   server_local_ipu	   server_ipu   my_ipu   timeout_secondsu   timeout_waiting_resultu   timeout_waiting_orderu
   cc_secondsu   transfer_limit_bytesu   Noneu   ol_socku   protocol_idu   port_numberu   Trueu   print_debugu   log_timeu   AccountInChargeu   mysql_connectionu   upu   downu   orderhead_filepathu   tlogu   transfer_msgu
   open_mysqlu   close_mysqlu
   check_useru	   p_nothingu   print_ServerMonu   orderline_initu   orderline_closeu   orderline_testu   server_connectu   client_connectu
   disconnectu	   connectedu
   ol_get_msgu   ol_send_msgu   ol_get_bytesu   ol_send_bytesu   client_putfileu   server_getfileu   client_getfileu   server_putfileu   client_waiting_display_logu   client_waitingu   server_waiting_startu   server_waiting_endu   client_renderfilmu   client_renderu   client_syncu   server_syncu
   serverloop(    (    (    u3   N:\PowerRender\RendServClient\addons\rendserv_ol.pyu   <module>   sn   	"&* 	