Ñò
J6xPc        
   @   sÿ   d  d k  Z  d  d k Z d  d k Z d  d k l Z d  d k l Z d  d k l Z d  d k	 l
 Z
 l Z d  d k l Z l Z l Z d „  Z d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d S(   iÿÿÿÿN(   t   chain(   t   RECORD_CONFIGS(   t   DOSSIER_TYPE(   t   unpackDossierCompDescrt   RECORD_DEFAULT_VALUES(   t   updateSinait   updatePattonValleyt   updateMedalKayc         C   sG   h  } x* t  | Œ  D] } t i | d ƒ | | <q W|  | d <| | f S(   Ni    t   _version(   R    R   t   get(   t   versiont   recordsLayoutt
   isExpandedt	   compDescrt   unpackedDatat   datat   record(    (    s+   scripts/common/dossiers/dossier_updaters.pyt   getNewDossierData   s     
c         C   s>   t  |  | | | | ƒ \ } } t t i ƒ  ƒ | d <| | f S(   Nt   creationTime(   R   t   intt   time(   R
   R   R   R   R   R   t   _(    (    s+   scripts/common/dossiers/dossier_updaters.pyt   getNewAccountDossierData$   s    c         C   ss  | } | pË d  } } | t i j o) t i d d } | d } | d } ns | t i j o) t i d d }	 |	 d } |	 d } n: | t i j o) t i d d }
 |
 d } |
 d } n t | | | ƒ } n | t i j p | t i j o7 t d	 } | d
 } t	 | | ƒ \ } } | | d	 <n x- d d d d d d d g D] } d | | <qKW|  | d <| | f S(   Nt   tankmani
   t   layoutt   record_packingt   accounti   t   vehiclei   t   beasthuntert
   fragsBeastt   evileyet   medalHeroesOfRassenait   medalDeLaglandat   medalTamadaYoshiot   medalErohint   medalHoroshilovt   medalListeri    R   (
   t   NoneR   t   TANKMANt   fmt_storaget   DOSSIER_FMTSt   ACCOUNTt   VEHICLER   R   t   divmod(   R
   t   dossierTypet	   isExpanedR   R   R   R   R   t	   tankman10t	   account19t	   vehicle17t   minFragst
   beastFragst   medalst   series(    (    s+   scripts/common/dossiers/dossier_updaters.pyt   updateDossier1.   s6    



 

 
c   	      C   sp   | } | pE d  } } t i d d } | d } | d } t | | | ƒ } n d | d <|  | d <| | f S(   NR   i   R   R   i    t   markOfMasteryR   (   R%   R'   R(   R   (	   R
   R,   R-   R   R   R   R   R   t	   vehicle18(    (    s+   scripts/common/dossiers/dossier_updaters.pyt   updateDossier2O   s    




c         C   s  | } | p’ d  } } | t i j o) t i d d } | d } | d } n: | t i j o) t i d d }	 |	 d } |	 d } n t | | | ƒ } n xf d d d	 d
 d d d d d d d d d d d d d d d d d d d d d d  g D] }
 d! | |
 <qô W|  | d" <| | f S(#   NR   i   R   R   R   i   s
   company/xps   company/battlesCounts   company/winss   company/lossess   company/survivedBattless   company/fragss   company/shotss   company/hitss   company/spotteds   company/damageDealts   company/damageReceiveds   company/capturePointss   company/droppedCapturePointss   clan/xps   clan/battlesCounts	   clan/winss   clan/lossess   clan/survivedBattless
   clan/fragss
   clan/shotss	   clan/hitss   clan/spotteds   clan/damageDealts   clan/damageReceiveds   clan/capturePointss   clan/droppedCapturePointsi    R   (   R%   R   R)   R'   R(   R*   R   (   R
   R,   R-   R   R   R   R   R   t	   account20t	   vehicle19R   (    (    s+   scripts/common/dossiers/dossier_updaters.pyt   updateDossier3^   s.    


	 
c         C   sÄ   | } | pY d  } } | t i j o) t i d d } | d } | d } n t | | | ƒ } n h  }	 x7 | d i ƒ  D]% \ }
 \ } } | | d f |	 |
 <q} W|	 | d <|  | d <| | f S(   NR   i   R   R   t   vehDossiersCuti    R   (   R%   R   R)   R'   R(   R   t	   iteritems(   R
   R,   R-   R   R   R   R   R   t	   account21t   newVehDossiersCutt   vehTypeCompDescrt   battlesCountt   wins(    (    s+   scripts/common/dossiers/dossier_updaters.pyt   updateDossier4z   s    

 

c         C   s  | } | pË d  } } | t i j o) t i d d } | d } | d } ns | t i j o) t i d d }	 |	 d } |	 d } n: | t i j o) t i d d }
 |
 d } |
 d } n t | | | ƒ } n x0 d	 d
 d d d d d d g D] } d | | <q÷ W|  | d <| | f S(   NR   i   R   R   R   i   R   i   t   medalRadleyWalterst   medalLafayettePoolt   medalBrunoPietrot   medalTarczayt   medalPascuccit   medalDumitrut   medalLehvaslaihot   medalNikolasi    R   (   R%   R   R&   R'   R(   R)   R*   R   (   R
   R,   R-   R   R   R   R   R   t	   tankman11t	   account22t	   vehicle20R3   (    (    s+   scripts/common/dossiers/dossier_updaters.pyt   updateDossier5‘   s,    



 
c      	   C   sÇ  | } | pË d  } } | t i j o) t i d d }	 |	 d } |	 d } ns | t i j o) t i d d }
 |
 d } |
 d } n: | t i j o) t i d d } | d } | d } n t | | | ƒ } n | t i j p | t i j ou| d	 } d
 | d <t | d i	 ƒ  ƒ } t
 | d | ƒ d
 j p | o d n d
 | d <| d } xr t t
 t i ƒ ƒ D][ } t
 | | ƒ d
 j o qun t
 | | | ƒ d
 j o | d c d | d >O<ququW| d } d
 | d <x? | d i ƒ  D]- \ } } | | j o | d c | 7<qùqùWd
 | d <t | d  d  d  ƒ | d d j o d n d
 | d <n | t i j o d
 | d <d
 | d <n | t i j o d
 | d <n |  | d <| | f S(   NR   i   R   R   R   i   R   i   t
   tankExperti    t   tankExpertStrgt   vehTypeFragst   vehiclesInTreesi   t   vehiclesInTreesByNationt   sinaiVehiclest
   fragsSinait   sinait   maxFragsi   t   heroesOfRassenayt   mechanicEngineerStrgt   mechanicEngineerR   (   R%   R   R&   R'   R(   R)   R*   R   t   sett   iterkeyst   lent   xranget   nationst   NAMESR=   R   (   R
   R,   t   cacheR-   R   R   R   R   R   t	   tankman12t	   account23t	   vehicle21RP   t   killedVehTypesRT   t	   nationIdxRU   t   vehCompDescrt   frags(    (    s+   scripts/common/dossiers/dossier_updaters.pyt   updateDossier6¯   sZ    



 


  

 
&

c   	      C   s‘   | } | pY d  } } | t i j o) t i d d } | d } | d } n t | | | ƒ } n d	 | d <t ƒ  | d <|  | d <| | f S(
   NR   i   R   R   i    t   _dynRecPos_accountt   rareAchievementsR   (   i    i    i    (   R%   R   R)   R'   R(   R   t   list(	   R
   R,   R-   R   R   R   R   R   t	   account24(    (    s+   scripts/common/dossiers/dossier_updaters.pyt   updateDossier7ë   s    



c   
      C   sÇ   | } | p’ d  } } | t i j o) t i d d } | d } | d } n: | t i j o) t i d d }	 |	 d } |	 d } n t | | | ƒ } n d | d <d | d	 <|  | d
 <| | f S(   NR   i   R   R   R   i   i    t   medalCrucialContributiont   medalBrothersInArmsR   (   R%   R   R)   R'   R(   R*   R   (
   R
   R,   R-   R   R   R   R   R   t	   account25t	   vehicle22(    (    s+   scripts/common/dossiers/dossier_updaters.pyt   updateDossier8ý   s     





c         C   s`  | } | pË d  } } | t i j o) t i d d } | d } | d } ns | t i j o) t i d d }	 |	 d } |	 d } n: | t i j o) t i d d }
 |
 d } |
 d } n t | | | ƒ } n d	 | d
 <d	 | d <| t i j p | t i j o@ d	 | d <d	 | d <d	 | d <d	 | d <d	 | d <d	 | d <n |  | d <| | f S(   NR   i   R   R   R   i   R   i   i    t   medalDeLangladeR!   t
   bombardiert   huntsmant   alarict   sturdyt   ironMant
   luckyDevilR   (   R%   R   R&   R'   R(   R)   R*   R   (   R
   R,   R-   R   R   R   R   R   t	   tankman13t	   account26t	   vehicle23(    (    s+   scripts/common/dossiers/dossier_updaters.pyt   updateDossier9  s6    





 





c         C   s&  | } | p’ d  } } | t i j o) t i d d }	 |	 d } |	 d } n: | t i j o) t i d d }
 |
 d } |
 d } n t | | | ƒ } n | d } d | d	 <x? | d
 i ƒ  D]- \ } } | | j o | d	 c | 7<qÄ qÄ Wd | d <t | d  d  d  ƒ |  | d <| | f S(   NR   i   R   R   R   i   t   pattonVehiclesi    t   fragsPattonRR   t   pattonValleyR   (	   R%   R   R)   R'   R(   R*   R   R=   R   (   R
   R,   Rb   R-   R   R   R   R   R   t	   account27t	   vehicle24R€   Rh   Ri   (    (    s+   scripts/common/dossiers/dossier_updaters.pyt   updateDossier107  s,    




 

c         C   s^   | } | p t  | | | ƒ } n | d c | d 7<t | d  d  d  ƒ |  | d <| | f S(   Nt   battleHeroesR   R   (   R   R   R%   (   R
   R,   R   R   R-   R   R   R   (    (    s+   scripts/common/dossiers/dossier_updaters.pyt   updateDossier11T  s    
(   R   R`   R'   t	   itertoolsR    t   configR   t	   constantsR   t   utilsR   R   t   dependencesR   R   R   R   R   R5   R8   R;   RC   RO   Rj   Ro   Rt   R   R…   R‡   (    (    (    s+   scripts/common/dossiers/dossier_updaters.pyt   <module>   s(   			
	!					<			#	