ó
â™xTc           @   sy   d  d l  m Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z e d k ru d  d	 l	 Z	 e d
 e	 j
 d ƒ n  d	 S(   iÿÿÿÿ(   t   divisionc            sn  d d  l  } | j d „  } | _ z;| j j | j ƒ  ƒ d } d  ‡  ‡ f d † } | d g d ƒ | | j j d ƒ g d ƒ | d g d ƒ | d g d ƒ | d d g d | d	 ƒ | d d
 g d | d ƒ | d d g d ƒ | d d g d ƒ | d d g d d ƒ | d d g d ƒ | d d g d d ƒ | d d g d d ƒ | d d g d d ƒ | d d g d d ƒ | d d g d d ƒ | d	 d	 g d ƒ | d d g d ƒ | d d g d d ƒ | d d g d d ƒ | d d g d d ƒ | d d	 g d ƒ | d d g d ƒ | d d g d ƒ | d d  g d! ƒ | d" d# g d ƒ Wd  | | _ Xd  S($   Niÿÿÿÿc           S   s   d S(   Ns   /home/user/bar(    (    (    (    s=   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_path.pyt   <lambda>   s    c            sh   | d  k r | } n  ˆ |  Œ  } | | k s3 t ‚ ˆ  rd ˆ |  i t d 6Ž  } | | k sd t ‚ n  d  S(   Nt   enable_abspath_if_through_root(   t   Nonet   AssertionErrort   True(   t   argst
   r_expectedt   ra_expectedt   result(   R   t   f(    s=   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_path.pyt   check   s     	t   as   a/bs   ../a/bs   ../bs   ../s   /as   ../cs   /a/bs   b/cs   ../../at   .s   /foo/bar/bats   /x/y/zs   ../../../foo/bar/bats   /foo/bart   batt   /s   foo/bar/bats   ../../..s   /xs   ../foo/bar/bats
   ../../../xs   /a/b/cs   a/b/cs   ../a/b/cs   /x/ys   ../../a/b/ct   cs   /a/b/c/ds   ..s   /conky/mountpoint/as   /conky/mountpoint/b/c(   t   ost   getcwdt   patht   splitR   t   abspath(   R
   R   R   t   real_getcwdt   curdirR   (    (   R   R
   s=   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_path.pyt   exercise_posix_relpath   s>    c            s„  d d  l  } | j j | j ƒ  ƒ \ } } d  ‡  ‡ f d † } | d g d ƒ | | j j d ƒ g d ƒ | d g d ƒ | d g d ƒ | d d g d	 | d
 ƒ | d d g d	 | d ƒ | d d g d ƒ | d d g d d ƒ | d d g d ƒ | d d g d d ƒ | d d g d d ƒ | d d g d d ƒ | d d g d d ƒ | d d g d d ƒ | d d g d d  ƒ | d d g d d ƒ | d! d! g d ƒ | d" d" g d ƒ | d# d$ g d d ƒ | d% d& g d' d( ƒ | d) d* g d+ d, ƒ ˆ  r€ˆ d- d. t ƒ d- k s#t ‚ ˆ d/ d0 t ƒ d1 k sAt ‚ ˆ d. d0 t ƒ d. k s_t ‚ ˆ d0 d. t ƒ d2 k s€t ‚ n  d  S(3   Niÿÿÿÿc            s_   ˆ |  Œ  } | | k s t  ‚ ˆ  r[ | d  k	 r[ ˆ |  i t d 6Ž  } | | k s[ t  ‚ n  d  S(   NR   (   R   R   R   (   R   R   R   R	   (   R   R
   (    s=   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_path.pyR   0   s
    R   s   a/bs   a\bs   ../a/bs   ..\a\bs   ../bs   ..\s   \as   ../cs   \a\bs   b/cs   ..\..\as   //conky/mountpoint/as   //conky/mountpoint/b/cs   \\conky\mountpoint\aR   s   c:/foo/bar/bats   c:/x/y/zs   ..\..\..\foo\bar\bats   c:\foo\bar\bats
   c:/foo/barR   s   c:/s   foo\bar\bats   ..\..\..s   c:\s   c:/xs   ..\foo\bar\bats
   ..\..\..\xs   c:\xs   /as   /a/bs   c:/foos   C:/FOOs   c:/aas   C:/ccccs   ..\aas   c:\aas	   c:/aa/bbbs   C:/cccc/ddddds   ..\..\aa\bbbs	   c:\aa\bbbs   c:\foos   d:\foos   //m/ds   //n/ds   \\m\ds   \\n\d(   R   R   R   R   R   R   R   R   (   R
   R   R   t   _t
   currentdirR   (    (   R   R
   s=   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_path.pyt   exercise_nt_relpath-   s>    c          C   sŠ   d d  l  }  d d  l } | j d k r0 t } n t } |  j d  d k ri d d l m } | | t ƒ n  d d l	 m } | | t
 ƒ d  S(	   Niÿÿÿÿt   nti   i   i   i   (   t   relpath(   i   i   i   (   t   sysR   t   nameR   R   t   version_infot   os.pathR   t   Falset   libtbx.pathR   (   R   R   t   exerciseR   (    (    s=   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_path.pyt   exercise_relpathT   s    	c       
   C   s¿  d d l  m }  d d  l } |  d ƒ t | j d ƒ ƒ d k sG t ‚ x t d ƒ D] } |  d ƒ qT Wt | j d ƒ ƒ d d d	 g k s’ t ‚ t d
 d ƒ |  d ƒ t | j d ƒ ƒ d d d	 d d g k sÙ t ‚ t d d ƒ |  d ƒ t | j d ƒ ƒ d d d	 d d d d g k s&t ‚ |  d ƒ t | j d ƒ ƒ d d d	 d d d d d g k sit ‚ |  d d d d d ƒt | j d ƒ ƒ d d d	 d d d d d d g	 k s»t ‚ d  S(   Niÿÿÿÿ(   t   move_old_create_new_directoryt	   tmp_mocndi    i   s   tmp_mocnd/aR   t   a_001t   a_002s   tmp_mocnd/a_23t   wt   a_024t   a_23s   tmp_mocnd/a_logt   a_025t   a_logs   tmp_mocnd/bt   bt
   serial_sept    t
   serial_fmts   %dt   b1(	   R#   R&   R   t   lent   listdirR   t   xranget   sortedt   open(   t   mocndR   t   i(    (    s=   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_path.pyt&   exercise_move_old_create_new_directoryd   s*    
!*

$
'c          C   sœ  d d l  m }  d d l m } d d  l } d d  l } | j j d ƒ rZ | j d ƒ n  | j	 d ƒ | j
 d ƒ | j d ƒ | j d ƒ | j d ƒ t d d	 ƒ j d
 ƒ | j d ƒ t d d	 ƒ j d ƒ t d d	 ƒ j d ƒ t d d	 ƒ j d ƒ t d d	 ƒ j d ƒ t d d	 ƒ j d ƒ | j	 d ƒ t d d	 ƒ j d ƒ |  d ƒ } | ƒ  } | j d | ƒ | j ƒ  d k s˜t | j ƒ  ƒ ‚ d  S(   Niÿÿÿÿ(   t   clean_out_directory(   t   StringIOt   tmp_libtbx_path_cleanups   AutoSol_run_1_/TEMP0s   AutoBuild_run_2_/TEMP0s   AutoBuild_run_2_/resolve_1.ccp4s    AutoBuild_run_2_/TEMP0/model.pdbR*   s   END
s   Refine_3/.comms   Refine_3/refine_3.geos   
s   Refine_3/refine_3.kins   Refine_3/refine_3_2fofc.ccp4s   Refine_3/refine_3_fofc.xplors	   probe.txtt   FFT_4s   FFT_4/refine_3_2fofc.ccp4R   t   outs@  The following 3 directories will deleted:
  ./AutoBuild_run_2_/TEMP0
  ./AutoSol_run_1_/TEMP0
  ./Refine_3/.comm
The following 5 files will be deleted:
  ./Refine_3/refine_3.geo
  ./Refine_3/refine_3.kin
  ./Refine_3/refine_3_2fofc.ccp4
  ./Refine_3/refine_3_fofc.xplor
  ./probe.txt
0.0 KB of disk space will be freed.
(   R#   R<   t	   cStringIOR=   t   shutilR   R   t   isdirt   rmtreet   mkdirt   chdirt   makedirsR8   t   writet   showt   getvalueR   (   R<   R=   RB   R   t   c_o_dR@   (    (    s=   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_path.pyt   exercise_cleanup{   s2    		c         C   sŠ   t  |  ƒ d k s t ‚ t ƒ  t ƒ  d d l m } t  | ƒ  ƒ t  d ƒ k sW t ‚ d d  l } | j d k rz d GHn t ƒ  d GHd  S(   Ni    iÿÿÿÿ(   t   random_new_directory_namet   tmp_dir_00000000R   s*   skipping directory cleanup test on Windowst   OK(	   R4   R   R%   R;   R#   RM   R   R   RL   (   R   RM   R   (    (    s=   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_path.pyt   run¡   s    !t   __main__NR   i   (   t
   __future__R    R   R   R%   R;   RL   RP   t   __name__R   t   argv(    (    (    s=   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_path.pyt   <module>   s   	+	'			&	