Ñò
?‚äLc           @   sí   d  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	 d „  Z
 e e d „ Z e e d	 „ Z e e d
 „ Z e e d „ Z e d „ Z d d k l Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d S(   sQ   A set of singal handlers for generating automatic notifications on system
events.iÿÿÿÿN(   t   Notice(   t	   Directory(   t   get_profile(   t   Unitc         C   s.   |  o# t  d | d | ƒ } | i ƒ  n d  S(   Nt	   directoryt   message(   R    t   save(   t   createdR   t   parentt   notice(    (    s8   /var/www/Pootle/local_apps/pootle_autonotices/signals.pyt
   new_object!   s    c         K   s?   | o d  Sd | i  ƒ  | i f } t | | | i i ƒ d  S(   Ns)   New language <a href="%s">%s</a> created.(   t   get_absolute_urlt   fullnameR
   R   R   (   t   sendert   instanceR   t   rawt   kwargsR   (    (    s8   /var/www/Pootle/local_apps/pootle_autonotices/signals.pyt   new_language&   s    c         K   sB   | o d  Sd | i  ƒ  | i f } t | | d t i i ƒd  S(   Ns(   New project <a href="%s">%s</a> created.R   (   R   R   R
   R   t   objectst   root(   R   R   R   R   R   R   (    (    s8   /var/www/Pootle/local_apps/pootle_autonotices/signals.pyt   new_project,   s    c         K   sV   | o d  Sy< d | i  ƒ  i ƒ  | i f } t | | d t i i ƒWn n Xd  S(   Ns(   New user <a href="%s">%s</a> registered.R   (   R   R   t   usernameR
   R   R   R   (   R   R   R   R   R   R   (    (    s8   /var/www/Pootle/local_apps/pootle_autonotices/signals.pyt   new_user2   s    c         K   sž   | o d  Sd | i  ƒ  | i i | i i  ƒ  | i i f } t | | | i i ƒ d | i  ƒ  | i i | i i  ƒ  | i i f } t | | | i i ƒ d  S(   NsF   New project <a href="%s">%s</a> added to language <a href="%s">%s</a>.sF   New language <a href="%s">%s</a> added to project <a href="%s">%s</a>.(   R   t   projectR   t   languageR
   R   (   R   R   R   R   R   R   (    (    s8   /var/www/Pootle/local_apps/pootle_autonotices/signals.pyt   new_translationproject?   s    c         K   s  | o d  S| i  d  j	 oø | i ƒ  oë t i i d | i  ƒ } | i ƒ  o d  S| i } | i ƒ  } | d | d d j o | i } | i	 } d | i
 ƒ  | i f }	 | i ƒ  }
 |
 d c d 7<| i ƒ  o |
 d c d 8<n |	 t d |
 ƒ 7}	 t t |	 | ƒ qn d  S(   Nt   idt   totalt
   translatedi   s/   <a href="%s">%s</a> fully translated</a> <br />t   fuzzys   Project now at(   R   t   Nonet   istranslatedR   R   t   gett   storet   getquickstatst   translation_projectR   R   t   namet   isfuzzyt   stats_messageR
   t   True(   R   R   R   R   t   dbcopyR!   t   statsR#   R   R   t
   quickstats(    (    s8   /var/www/Pootle/local_apps/pootle_autonotices/signals.pyt   unit_updatedK   s$    			(   R&   c         K   sp   | | j o d  Sd |  i  ƒ  |  i f } | t d | ƒ d 7} | t d | ƒ d 7} t t | |  i ƒ d  S(   Ns5   Updated <a href="%s">%s</a> to latest template <br />s   Before updates    <br />s   After update(   R   R   R&   R
   R'   R   (   R   t   oldstatst   newstatsR   R   (    (    s8   /var/www/Pootle/local_apps/pootle_autonotices/signals.pyt   updated_from_templatef   s    c         K   s´   |  i  o |  i i } n
 |  i } | | j o d  Sd |  i ƒ  |  i f } | t d | ƒ d 7} | | j p | t d | ƒ d 7} n | t d | ƒ 7} t t | | ƒ d  S(   Ns7   Updated <a href="%s">%s</a> from version control <br />s   Before updates    <br />s   Remote copys   After update(   t   is_template_projectR   R   R   R   R&   R
   R'   (   R   R,   t   remotestatsR-   R   R   R   (    (    s8   /var/www/Pootle/local_apps/pootle_autonotices/signals.pyt   updated_from_version_controlo   s    
	c         K   sN   d | i  ƒ  | i | i  ƒ  | i f } t | | ƒ } t | | |  i ƒ d  S(   NsD   <a href="%s">%s</a> committed <a href="%s">%s</a> to version control(   R   R   t   pootle_pathR&   R
   R   (   R   R!   R)   t   usert   successR   R   (    (    s8   /var/www/Pootle/local_apps/pootle_autonotices/signals.pyt   committed_to_version_control   s
    c         K   së   |  i  o |  i i } n
 |  i } | | j o t i d ƒ d  S| o2 d t | ƒ i ƒ  | i |  i ƒ  |  i f } n/ d t | ƒ i ƒ  | i |  i ƒ  |  i f } | t	 d | ƒ d 7} | t	 d | ƒ d 7} t
 t | | ƒ d  S(   Ns%   file uploaded but stats didn't changesE   <a href="%s">%s</a> uploaded an archive to <a href="%s">%s</a> <br />sA   <a href="%s">%s</a> uploaded a file to <a href="%s">%s</a> <br />s   Before uploads    <br />s   After upload(   R/   R   R   t   loggingt   debugR   R   R   R   R&   R
   R'   (   R   R,   R3   R-   t   archiveR   R   R   (    (    s8   /var/www/Pootle/local_apps/pootle_autonotices/signals.pyt   file_uploadedˆ   s     
	c   	      K   s   | d j op | oh xe | i  i d | ƒ i ƒ  D]D } d | i ƒ  | i i | i ƒ  | i f } t t | | i	 ƒ q1 Wn d  S(   Nt   post_addt   pk__ins;   user <a href="%s">%s</a> joined project <a href="%s">%s</a>(
   t   projectst   filtert   iteratorR   R3   R   R   R
   R'   R   (	   R   R   t   actiont   reverset   modelt   pk_setR   R   R   (    (    s8   /var/www/Pootle/local_apps/pootle_autonotices/signals.pyt   user_joined_project£   s     c   	      K   s   | d j op | oh xe | i  i d | ƒ i ƒ  D]D } d | i ƒ  | i i | i ƒ  | i f } t t | | i	 ƒ q1 Wn d  S(   NR:   R;   s<   user <a href="%s">%s</a> joined language <a href="%s">%s</a>(
   t	   languagesR=   R>   R   R3   R   R   R
   R'   R   (	   R   R   R?   R@   RA   RB   R   R   R   (    (    s8   /var/www/Pootle/local_apps/pootle_autonotices/signals.pyt   user_joined_language«   s     (   t   __doc__R6   t   pootle_notifications.modelsR    t   pootle_app.modelsR   t   pootle_profile.modelsR   t   pootle_store.modelsR   R
   t   FalseR   R   R   R   R+   t    pootle_translationproject.modelsR&   R.   R1   R5   R9   RC   RE   (    (    (    s8   /var/www/Pootle/local_apps/pootle_autonotices/signals.pyt   <module>   s$   							