ó
©%�Tc           @   s+   d  a  d  a d „  Z d „  Z d „  Z d S(   i   c            sg  d d  l  } d d  l } d d  l } t j d ƒ } g  } d } g  } | rˆ t j j | d ƒ } | j  | ƒ }	 |	 } | } | g } n  t j j d ƒ rî t j j d ƒ }
 | j  |
 ƒ } | | 7} | rØ | d 7} n d } | j d ƒ n  t	 | j ƒ  ƒ } | j
 t ƒ sd	 a n  t } | | d
 d d ‰  ‡  f d †  } | | ƒ } |  d k r�t t t j j | ƒ ƒ } | d } t | ƒ | g S|  d k rcxB | D]: } t j j | ƒ \ } } d | | f GHt j | ƒ q£Wx | D]t } t j j t j j | d ƒ ƒ } t j j | ƒ rèt | d ƒ } | j t t	 | j ƒ  ƒ ƒ ƒ | j ƒ  qèqèWn  d  S(   Niÿÿÿÿt   COOT_BACKUP_DIRt    s   /*.pdb*s   coot-backups   ./coot-backup/*.pdb*s    and ./coot-backups   ./coot-backupi   i   i<   c            sI   g  } x< |  D]4 } t  j j | ƒ } | ˆ  k  r | j | ƒ q q W| S(   N(   t   ost   patht   getmtimet   append(   t   filest	   old_filest   filet
   this_mtime(   t	   last_week(    sS   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/clear_backup.pyt   old_files_list;   s    t   countg      �@i   t   deletes   Deleting old file %s from %ss   last-cleanedt   wg      0A(   t   globt   timet   operatorR   t   getenvR   t   normpatht   isdirR   t   intt   isNumberTypet   clear_out_backup_old_dayst   sumt   mapt   getsizet   lent   splitt   removet   joint   opent   writet   strt   close(   t   action_typeR   R   R   t
   backup_envt   dirst   dir_strR   t   global_backup_pattt   global_filest   local_backup_pattt   local_filest   nowt   n_daysR   t   oldst
   total_sizet   mb_sizeR   t	   file_namet   dir_namet	   directoryt   last_cleaned_filet   fin(    (   R
   sS   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/clear_backup.pyt   delete_coot_backup_files   sV    
	

!c          C   s%  t  d ƒ }  |  d d k r  t St j t j ƒ } t j d ƒ } t j t d ƒ } t j t d ƒ } t j d ƒ } t j d ƒ } t j	 ƒ  } d t
 |  d ƒ d	 |  d
 d } t j | ƒ }	 | j d d „  ƒ | j d d „  ƒ d }
 d d d d } t j d k r,| j |
 ƒ | j | ƒ n  t j | |
 ƒ t j | | ƒ | j | ƒ | j d ƒ | j | ƒ | j |	 t t d ƒ | j | ƒ | j | ƒ | j d ƒ | j d ƒ | j | t t d ƒ | j | t t d ƒ | j t j ƒ | j t j ƒ | j ƒ  | j ƒ  t Sd  S(   NR   i    s   Old Backupsi   i
   s
    Clear up s    Stay messy s     There are s    old backup files (%.1fMb) 
i   s      Delete Them?t   clickedc         S   s   t  t d d g ƒ S(   Ns"   delete_coot_backup_files('delete')s   coot_real_exit(0)(   R   t   eval(   R   (    (    sS   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/clear_backup.pyt   <lambda>w   s    c         S   s
   t  d ƒ S(   Ni    (   t   coot_real_exit(   R   (    (    sS   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/clear_backup.pyR8   x   s    s'    Consider yourself patted on the back! s9   A less pejorative label here might be "Keep" or "Cancel" sC   but seeing as (for the moment) I like my intestines where they are sB   and not used as hosiery fastenings for Systems Adminstrators then s$   we get this rather nannying label...i   i   i   (   i   i   (   R5   t   Falset   gtkt   Windowt   WINDOW_TOPLEVELt   Framet   VBoxt   HBoxt   Buttont
   HSeparatorR!   t   Labelt   connectt   pygtk_versiont   set_tooltip_textt   coot_tooltipst   set_tipt   addt   set_border_widtht
   pack_startt   Truet	   set_flagst   CAN_DEFAULTt   grab_defaultt   show_all(   t
   file_statst   windowt   framet   vboxt   hboxt	   ok_buttont   cancel_buttont   h_sept	   label_strt   labelt   ok_textt   cancel_text(    (    sS   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/clear_backup.pyt   clear_backup_guid   sL    

c          C   s«  d d  l  }  d d  l } t |  j  ƒ  ƒ } | j t ƒ sB d a n  t } | | d d d } t j d ƒ } g  } | r… | g } n  t j j d ƒ r³ | j	 t j j
 d ƒ ƒ n  g  } xE | D]= } t j j | d ƒ }	 t j j |	 ƒ rÀ | j	 |	 ƒ qÀ qÀ Wt | ƒ d	 k r t ƒ  }
 |
 Sx„ | D]| }	 t |	 d
 ƒ } | j ƒ  } | j ƒ  yF t | ƒ } | | k  rzt ƒ  }
 |
 Sd | | d d d GHt SWq't SXq'Wd  S(   Niÿÿÿÿi   i   i<   R    s   coot-backups   ./coot-backups   last-cleanedi    t   rs'   INFO:: backup clearout done %s days ago(   R   R   R   R   t   clear_out_backup_run_n_daysR   R   R   R   R   R   R   t   isfileR   R]   R   t   readR"   R:   (   R   R   R+   R,   R
   R$   R%   t   all_last_cleaned_filesR2   R3   t   retR4   t   valt   ival(    (    sS   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/clear_backup.pyt   clear_backups_maybe    sD    		
	N(   R_   R   R5   R]   Rf   (    (    (    sS   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/coot/clear_backup.pyt   <module>   s   	K	<