ž
ã»‡Vï0  c               @   s9  i d  d 6d d 6d d 6Z  d d l Z d d l Td d l Z 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 d l
 Z
 d	 Z d+ Z d
 a e a d a d, a e j j d d ƒ e j j _ e j j d d ƒ e j j _ e j j d d ƒ e j j _ e j j d d ƒ e j j _ d d „  Z d d „  a d d „  Z d d „  Z d d „  Z  d d „  Z! d d „  Z" Gd d „  d e j j# ƒ Z$ d d  „  Z% Gd! d" „  d" e j j# ƒ Z& Gd# d$ „  d$ e j j# ƒ Z' Gd% d& „  d& e j j# ƒ Z( Gd' d( „  d( e j j# ƒ Z) Gd) d* „  d* e j j* ƒ Z+ d S(-   u   RendServ-Client (dummy)u   nameu   Renderu   categoryu   RSu   authori    N(   u   *u   RSC v 2015-12-29g        u   defaultu   [none.]u    u   120.2c             C   sÊ   d  St  j j j d |  ƒ } t d t | ƒ ƒ t  j j |  } | j d  d  … } d } t	 | ƒ } x% t
 d | ƒ D] } | | | 7} qu W| | } | | j d  d  … <t d |  d t | ƒ ƒ d  S(   Nu   filepathu   image open: g        i    u   img brightness of u    : (   u   bpyu   opsu   imageu   openu   pu   stru   datau   imagesu   pixelsu   lenu   range(   u   img_nameu   img1u   imgu   pixelsu   bru   lu   i(    (    u2   N:\PowerRender\RendServClient\addons\rendserv_c.pyu   calc_brightness   s    
u   calc_brightnessc             C   s   t  |  ƒ d  S(   N(   u   print(   u   arg(    (    u2   N:\PowerRender\RendServClient\addons\rendserv_c.pyu   p#   s    u   pc             C   su   t  j ƒ  r d St s, t  j t ƒ d a n  |  j d } |  j d } t  j | | ƒ } | d k rq t  j ƒ  n  | S(   Nu   already connected.u   user_idu   user_pwu    T(	   u   rendserv_olu	   connectedu	   init_doneu   orderline_initu   pu   Trueu   sceneu   client_connectu   client_sync(   u   contextu   user_idu   user_pwu   r(    (    u2   N:\PowerRender\RendServClient\addons\rendserv_c.pyu   RSB_Plugin_connect%   s    	u   RSB_Plugin_connectc               C   s0   t  j ƒ  r, t j t  j d ƒ t  j ƒ  n  d  S(   Nu   exit(   u   rendserv_olu	   connectedu   rendserv_blu   send_msgu   ol_socku
   disconnect(    (    (    u2   N:\PowerRender\RendServClient\addons\rendserv_c.pyu   RSB_Plugin_disco2   s    u   RSB_Plugin_discoc       	      C   s÷   t  j  j ƒ  j ƒ  } t d | ƒ t j |  | ƒ } t d | ƒ t | ƒ t  j  j ƒ  j ƒ  } | j d d d ƒ } | j d d d ƒ } t j	 j
 | ƒ \ } } t j	 j | ƒ \ } } | | d | | } t j	 j | | d | | ƒ } d  S(	   Nu   rsc: render: u
   rsc: got: u   :u   .i   u   Tu    u   -(   u   datetimeu   todayu	   isoformatu   pu   rendserv_olu   client_renderu   calc_brightnessu   replaceu   osu   pathu   splitu   splitextu   join(	   u   jobfileu   outfileu   tu   fnu   pathu   fileu   rootu   extu
   fn_stamped(    (    u2   N:\PowerRender\RendServClient\addons\rendserv_c.pyu   RSB_Plugin_render6   s    
!u   RSB_Plugin_renderc               C   s&   t  j ƒ  r" t j t  j d ƒ n  d  S(   Nu   shutdown(   u   rendserv_olu	   connectedu   rendserv_blu   send_msgu   ol_sock(    (    (    u2   N:\PowerRender\RendServClient\addons\rendserv_c.pyu   RSB_Plugin_shutdownG   s    u   RSB_Plugin_shutdownc             C   s=   t  d ƒ t j |  | | ƒ \ } } t  d | ƒ | | f S(   Nu   renderfilm start. u   renderfilm result file: (   u   pu   rendserv_olu   client_renderfilm(   u   jobfileu   outfileu   insu   msgu   fn(    (    u2   N:\PowerRender\RendServClient\addons\rendserv_c.pyu   RSB_Plugin_renderfilmJ   s    
u   RSB_Plugin_renderfilmc             B   s5   |  Ee  Z d  Z d Z d Z d h Z d d „  Z d S(   u   renderfailframeu   render.rendserv_renderfailframeu	   failframeu   REGISTERc             C   s0  t  j j } | j } | } | j d } d | k rZ | j d ƒ } t d ƒ t | ƒ n | j ƒ  } d } d } xª| sy| d } t | ƒ | _ t d t	 | ƒ ƒ d }	 |	 t
 d }
 t d	 t	 |
 ƒ ƒ t d
 ƒ t j d ƒ t d ƒ t  j j j ƒ  t  j j d ƒ } t j j | d ƒ } t j j | d d t	 | ƒ d ƒ } t j | | ƒ | d d  … } | s€d } n  Wqu t k
 r˜‚  Yqu t k
 r} zc t d t	 | ƒ ƒ t d t	 | ƒ ƒ | d 7} t j d | ƒ | d k rd } | ‚ n  WYd  d  } ~ Xqu Xqu Wt d ƒ d h S(   Nu   ff_listu    u   ,u   fflist engaged!i   i    u   rendering frame no i<   u   expected minutes to run: u   recovery...u	   render...u   //u   out.pngu   filmu   out-u   .pngu   r-a E:u   hm, failed - retry:g      à?i   u&   rendserv render failframe script done.u   FINISHEDFT(   u   bpyu   contextu   sceneu   frame_currentu   splitu   pu   Falseu   intu   printu   stru   LastRenderTimeu   timeu   sleepu   opsu   renderu   rendserv_renderu   pathu   abspathu   osu   joinu   shutilu   copy2u   Trueu   KeyboardInterruptu	   Exception(   u   selfu   contextu   scu   cu   frameu   ff_listu   fflistu   trialu   doneu
   restframesu   resttimeu   pau   fnu   ffu   er(    (    u2   N:\PowerRender\RendServClient\addons\rendserv_c.pyu   executeT   sT    	
	


&
 
u   renderfailframe.executeN(   u   __name__u
   __module__u   __qualname__u	   bl_idnameu   bl_labelu
   bl_optionsu   execute(   u
   __locals__(    (    u2   N:\PowerRender\RendServClient\addons\rendserv_c.pyu   renderfailframeP   s   	u   renderfailframec             C   sù   t  j j d ƒ } g  a x t |  | d ƒ D]l } d t | ƒ j d ƒ d } t j j | d | ƒ } t j j	 | ƒ s, t t | ƒ j d ƒ g 7a q, q, Wt
 d ƒ t
 t ƒ t
 t t t ƒ ƒ d ƒ d	 } x" t D] } | d
 t | ƒ 7} q× W| S(   Nu   //i   u   out-i   u   .pngu   filmu   flist:u    Files missing.u    u    (   u   bpyu   pathu   abspathu   flistu   rangeu   stru   zfillu   osu   joinu   existsu   printu   len(   u   fstu   lstu   pau   numu   fnu   fpnu   fstru   f(    (    u2   N:\PowerRender\RendServClient\addons\rendserv_c.pyu   find_missing_frames   s    #

u   find_missing_framesc             B   s5   |  Ee  Z d  Z d Z d Z d h Z d d „  Z d S(   u
   renderfilmu   render.rendserv_renderfilmu   filmu   REGISTERc             C   s°  t  d ƒ t j j d ƒ } t j j | d ƒ } t j j | d ƒ } t j | ƒ | j d } y* t d ƒ t j	 j
 j d | d d ƒ Wnn t k
 rú } zN d	 | d
 t | ƒ } t | ƒ |  j d d h d | ƒ | } d h SWYd  d  } ~ Xn Xt | ƒ t j ƒ  s"t d ƒ d h St j j }	 |	 j }
 |	 j } t |
 | ƒ } d } d } x:t |
 | d ƒ D]%} | d 7} d t |
 ƒ } | d t | ƒ 7} | d 7} | d t | ƒ 7} | sÚ| d 7} d } n  t | | | ƒ \ } } d | k rt d t | ƒ d t ƒ ‚ n  t j j d ƒ } t j j | | ƒ } t j j | d | ƒ } y t j | ƒ Wn t d ƒ Yn Xt j | | ƒ qoWt ƒ  t  d ƒ d h S(    Nu"   rendserv render film script start.u   //u	   Job.blendu   out.pngu   node_timeoutu   rf: try save mainu   filepathu   copyu   Error saving file: '%s'u    sys: u   ERRORu   INFOu
   RendServ: u   FINISHEDu   not connected.u	   CANCELLEDi    i   u   startframe u
    endframe u    render-sequence u    render-timeout-node u    jobfile-downloadu   erroru%   this is not good. broken on call-no: u    with error: u   filmu   removal not required.u!   rendserv render film script done.TF(   u   printu   bpyu   pathu   abspathu   osu   joinu   chdiru   sceneu   pu   opsu   wmu   save_as_mainfileu   Trueu	   Exceptionu   stru   reportu   RSB_Plugin_connectu   rendserv_olu	   connectedu   contextu   frame_startu	   frame_endu   find_missing_framesu   Falseu   rangeu   RSB_Plugin_renderfilmu   ru   removeu   shutilu   moveu   RSB_Plugin_disco(   u   selfu   contextu   pau   jobfileu   outfileu   node_timeoutu   eu   msgu	   LastErroru   scu   fstu   lstu   frlistu   cu   loadedu   frameu   insu   filenameu   fnu   ff(    (    u2   N:\PowerRender\RendServClient\addons\rendserv_c.pyu   execute•   s`    

 


		


	!
u   renderfilm.executeN(   u   __name__u
   __module__u   __qualname__u	   bl_idnameu   bl_labelu
   bl_optionsu   execute(   u
   __locals__(    (    u2   N:\PowerRender\RendServClient\addons\rendserv_c.pyu
   renderfilm‘   s   	u
   renderfilmc             B   s5   |  Ee  Z d  Z d Z d Z d h Z d d „  Z d S(   u
   renderanimu   render.rendserv_renderanimu   animu   REGISTERc             C   s©  t  d ƒ t j j } | j } | j } d } | | d } t j j ƒ  } d } d }	 x³t | | d ƒ D]ž}
 |
 | _	 d" } |
 | k r• d# } n  d } d } x¤| sGyr t  d t |
 ƒ ƒ | |
 d } | t d } t  d t | ƒ ƒ t  d ƒ t  d	 ƒ t j j j ƒ  d# } Wq¤ t k
 r6d } Yq¤ t k
 rC} zî | d
 k s[t rät  d t | ƒ ƒ t  d t t ƒ ƒ t  d ƒ d# } d } d t |
 ƒ d } | t | j d ƒ f | j d d  … | _ | ‚ nM t  d t | ƒ ƒ t  d t | ƒ ƒ | d 7} | d 7} t j d | ƒ WYd  d  } ~ Xq¤ Xq¤ W| | 7} | |	 k rg| }	 n  x3 t j j j D]" } | j d$ k rw| j ƒ  qwqwW| |
 k rk t j j d ƒ } t j j | d ƒ } t j j | d d t |
 ƒ d ƒ } t j  | | ƒ qk qk W| j | _	 t j j ƒ  } | | j! ƒ  } | | } t  d ƒ d | } | d | 7} | d t | ƒ d 7} | d | 7} | d  |	 7} t  | ƒ d! h S(%   Nu"   rendserv render anim script start.i'  i   i    u   rendering frame no i<   u   expected minutes left to run: u   0 s recovery...u	   render...id   u   trial:u
   use_retry:u	   no retry.u   (rendering anim frame no u   ) u   r-a E:u   hm, failed - retry:g      à?u   IMAGE_EDITORu   VIEW_3Du   //u   out.pngu   filmu   out-u   .pngu!   rendserv render anim script done.u   %0.2f seconds totalu   , %0.2f seconds per frame u   , u    frames.u    total retries: %d u    max retries/frame: %d u   FINISHEDFT(   u   IMAGE_EDITORu   VIEW_3D("   u   printu   bpyu   contextu   sceneu   frame_startu	   frame_endu   datetimeu   todayu   rangeu   frame_currentu   Falseu   Trueu   stru   LastRenderTimeu   opsu   renderu   rendserv_renderu   KeyboardInterruptu	   Exceptionu	   use_retryu   argsu   timeu   sleepu   screenu   areasu   typeu
   tag_redrawu   pathu   abspathu   osu   joinu   shutilu   copy2u   total_seconds(   u   selfu   contextu   scu   su   eu   endstopu	   numframesu   t1u   totalretriesu
   maxretriesu   frameu   doneu   trialu   retriesu
   restframesu   resttimeu   eru   s1u   areau   pau   fnu   ffu   t2u   tsecondsu   spfu   msg(    (    u2   N:\PowerRender\RendServClient\addons\rendserv_c.pyu   executeÊ   s„    
					




.	

(
	&



u   renderanim.executeN(   u   __name__u
   __module__u   __qualname__u	   bl_idnameu   bl_labelu
   bl_optionsu   execute(   u
   __locals__(    (    u2   N:\PowerRender\RendServClient\addons\rendserv_c.pyu
   renderanimÆ   s   	u
   renderanimc             B   s5   |  Ee  Z d  Z d Z d Z d h Z d d „  Z d S(   u   renderu   render.rendserv_renderu   frameu   REGISTERc          !   C   sN  t  d ƒ t j j d ƒ } t  d | ƒ | d k rm d } t  | ƒ |  j d d h d | ƒ | a d	 h St j j | d
 ƒ } t j j | d ƒ } y* t  d ƒ t j j	 j
 d | d d& ƒ Wnn t k
 r1} zN d | d t | ƒ } t  | ƒ |  j d d h d | ƒ | a d	 h SWYd  d  } ~ Xn Xt  d ƒ t j j ƒ  } t t | ƒ ƒ } t j ƒ  s t  d ƒ d | } |  j d d h | ƒ | a d	 h Sd }	 y t | | ƒ WnÂ t k
 r{}
 z¢ t ƒ  t |
 ƒ }	 d d d d g } d' } x# | D] } | |	 k rþd& } qþqþW| rX|  j d d h d |	 ƒ t  d |	 ƒ |	 a d	 h St  d |	 ƒ ‚  WYd  d  }
 ~
 Xn Xd( t j j j d ƒ k ret j j j d | ƒ a d) t j j j d ƒ k } d* t j j j d ƒ k } t  d t t j j j d ƒ ƒ ƒ t  d t t j j j d ƒ ƒ ƒ | rGd t j j d _ n  | ry| ryt  d ƒ qyn t j j d j ƒ  x3 t j j j  D]" } | j! d+ k r‰| j" ƒ  q‰q‰Wt j j ƒ  } | | j# ƒ  } | a$ d a t ƒ  |	 d k r+d! | d" } | d# t j% t j& f 7} |  j d h | ƒ n d$ } |  j d% d h | ƒ d	 h S(,   Nu   rsc: executeu   //u   rsc: abspath: u    uY   Please save file to decent location first. Otherwise your filespace would become spammed.u   ERRORu   INFOu
   RendServ: u   FINISHEDu	   Job.blendu   out.pngu   rsc: try save mainu   filepathu   copyu   Error saving file: '%s'u    sys: u   rsc: save main done.u   rsc: no connection.u0   RendServ: sorry, no connection (probably busy). u   connection brokenu   sorry, not enough rsuu	   timed outu   something is wrongu   rsc: server error: u   rsc: unknown error: i   u   RendServ imageu*   rsc: bpy.data.images.find(RendServ image):u#   rsc: bpy.data.images.find(out.png):u%   rsc: err: can't locate rendserv imageu   IMAGE_EDITORu   VIEW_3Du   RendServ done. %0.2fu	    seconds.u   %0.2f upload, %0.2f downloaduC   operation cancelled - no charge. please re-try and report problems.u   WARNINGTFiÿÿÿÿiÿÿÿÿiÿÿÿÿ(   u   IMAGE_EDITORu   VIEW_3D('   u   pu   bpyu   pathu   abspathu   reportu	   LastErroru   osu   joinu   opsu   wmu   save_as_mainfileu   Trueu	   Exceptionu   stru   datetimeu   todayu   RSB_Plugin_connectu   rendserv_olu	   connectedu   RSB_Plugin_renderu   RSB_Plugin_discou   Falseu   datau   imagesu   findu   imageu   openu   imgu   nameu   reloadu   contextu   screenu   areasu   typeu
   tag_redrawu   total_secondsu   LastRenderTimeu   upu   down(   u   selfu   contextu   pau   msgu   jobfileu   outfileu   eu   t1u   erru   rend_erru   reu
   known_errsu	   err_knownu   have_outu   have_rsiu   areau   t2u   tseconds(    (    u2   N:\PowerRender\RendServClient\addons\rendserv_c.pyu   execute  s’    


 



##u   render.executeN(   u   __name__u
   __module__u   __qualname__u	   bl_idnameu   bl_labelu
   bl_optionsu   execute(   u
   __locals__(    (    u2   N:\PowerRender\RendServClient\addons\rendserv_c.pyu   render  s   	u   renderc             B   s5   |  Ee  Z d  Z d Z d  Z d h Z d d „  Z d S(   u   shutdownu   render.rendserv_shutdownu   REGISTERc       	      C   s5  t  d ƒ t t | ƒ ƒ } t j ƒ  s_ t  d ƒ d | } |  j d d h | ƒ | a d h Sd } y t ƒ  Wn» t k
 r-} z› t | ƒ } d d	 d
 d g } d } x# | D] } | | k r° d } q° q° W| r
|  j d d h d | ƒ t  d | ƒ | a d h St  d | ƒ ‚  WYd  d  } ~ Xn Xd h S(   Nu   rsc: shutdown.u   rsc: no connection.u0   RendServ: sorry, no connection (probably busy). u   ERRORu   INFOu   FINISHEDu    u   connection brokenu   sorry, not enough rsuu	   timed outu   someting is wrongu
   RendServ: u   rsc: u   unknown error: FT(   u   pu   stru   RSB_Plugin_connectu   rendserv_olu	   connectedu   reportu	   LastErroru   RSB_Plugin_shutdownu	   Exceptionu   Falseu   True(	   u   selfu   contextu   erru   msgu   rend_erru   reu
   known_errsu	   err_knownu   e(    (    u2   N:\PowerRender\RendServClient\addons\rendserv_c.pyu   executeh  s4    


u   shutdown.executeN(   u   __name__u
   __module__u   __qualname__u	   bl_idnameu   bl_labelu
   bl_optionsu   execute(   u
   __locals__(    (    u2   N:\PowerRender\RendServClient\addons\rendserv_c.pyu   shutdownd  s   	u   shutdownc             B   s>   |  Ee  Z d  Z d Z d Z d Z d Z d Z d d „  Z d S(	   u   panelu   RendServu   RENDER_PT_rendservu
   PROPERTIESu   WINDOWu   renderc             C   s  |  j  } | j ƒ  } | j d ƒ | j d ƒ | j d ƒ | j d ƒ | j d ƒ | j ƒ  } t d k r{ d t } n t } | j d | ƒ | j ƒ  } | j | j d	 ƒ | j ƒ  } | j | j d
 ƒ | j ƒ  } | j | j d ƒ | j ƒ  } | j | j d ƒ | j ƒ  } d  S(   Nu   render.rendserv_renderu   render.rendserv_renderanimu   render.rendserv_renderfilmu   render.rendserv_renderfailframeu   render.rendserv_shutdownu    u   last render : %0.2f seconds.u   textu   user_idu   user_pwu   ff_listu   node_timeout(   u   layoutu   rowu   operatoru	   LastErroru   LastRenderTimeu   labelu   propu   scene(   u   selfu   contextu   layoutu   rowu   msg(    (    u2   N:\PowerRender\RendServClient\addons\rendserv_c.pyu   drawŒ  s*    	u
   panel.drawN(	   u   __name__u
   __module__u   __qualname__u   bl_labelu	   bl_idnameu   bl_space_typeu   bl_region_typeu
   bl_contextu   draw(   u
   __locals__(    (    u2   N:\PowerRender\RendServClient\addons\rendserv_c.pyu   panel†  s   u   panelTF(,   u   bl_infou   bpyu	   bpy.propsu   globu   osu
   subprocessu   rendserv_blu   rendserv_olu   datetimeu   timeu   shutilu   versionu   Trueu	   use_retryu   LastRenderTimeu	   LastErroru   Noneu   imgu   Falseu	   init_doneu   propsu   StringPropertyu   typesu   Sceneu   user_idu   user_pwu   ff_listu   node_timeoutu   calc_brightnessu   pu   RSB_Plugin_connectu   RSB_Plugin_discou   RSB_Plugin_renderu   RSB_Plugin_shutdownu   RSB_Plugin_renderfilmu   Operatoru   renderfailframeu   find_missing_framesu
   renderfilmu
   renderanimu   renderu   shutdownu   Panelu   panel(    (    (    u2   N:\PowerRender\RendServClient\addons\rendserv_c.pyu   <module>   sD   
15IU"