N
u9c       sW    d  Z    k Z  k Z  d   Z  d   Z ' d   Z 9 d   Z J d   Z ` d   Z h d   Z	 o d   Z
 v 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   Z 6e Z 8d   Z Xd   Z ud   Z d S(   s   Common pathname manipulations, Posix version. 
Instead of importing this module
directly, import os and refer to this module as os.path.
c    s      |  Sd S(   s6   Normalize case of pathname.  Has no effect under PosixN(   s   s(   s   ss:   /var/tmp/python/python-root/usr/lib/python1.5/posixpath.pys   normcase s   c    s       |  d  d j Sd S(   s   Test whether a path is absolutei   s   /N(   s   s(   s   ss:   /var/tmp/python/python-root/usr/lib/python1.5/posixpath.pys   isabs s   c    s   ' ( ) |  } * xx | d * rk } + | d  d j o , | } nE - | d j p | d d j o . | | } n 0 | d | } q W1 | Sd S(   s=   Join two or more pathname components, inserting '/' as neededi    i   s   /s    N(   s   as   paths   ps   b(   s   as   ps   paths   bs:   /var/tmp/python/python-root/usr/lib/python1.5/posixpath.pys   join' s   	 	"c    s   9 ; < k  } = | i |  d  d } > |  |  |  | f \ } } ? | o | d t |  j o2 @ x( @ | d d j o A | d  } ql Wn B | | f Sd S(   s|   Split a pathname.  Returns tuple "(head, tail)" where "tail" is 
everything after the final slash.  Either part may be emptys   /i   N(   s   strings   rfinds   ps   is   heads   tails   len(   s   ps   strings   is   heads   tails:   /var/tmp/python/python-root/usr/lib/python1.5/posixpath.pys   split9 s   	! c    s   J L M d d f \ } } N x |  d N r } O | d j o! P | | | d f \ } } nm Q | d j o4 R | o S | | | f \ } } n
 U | } n) V | o W | | } n Y | | } q' WZ | | f Sd S(   s   Split the extension from a pathname.  Extension is everything from the
last dot to the end.  Returns "(root, ext)", either part may be emptys    i    s   /s   .N(   s   roots   exts   ps   c(   s   ps   roots   exts   cs:   /var/tmp/python/python-root/usr/lib/python1.5/posixpath.pys   splitextJ s    	!

c    s   ` b c d |  f Sd S(   sF   Split a pathname into drive and path. On Posix, drive is always 
emptys    N(   s   p(   s   ps:   /var/tmp/python/python-root/usr/lib/python1.5/posixpath.pys
   splitdrive` s   c    s   h i j t  |   d Sd S(   s)   Returns the final component of a pathnamei   N(   s   splits   p(   s   ps:   /var/tmp/python/python-root/usr/lib/python1.5/posixpath.pys   basenameh s   c    s   o p q t  |   d Sd S(   s-   Returns the directory component of a pathnamei    N(   s   splits   p(   s   ps:   /var/tmp/python/python-root/usr/lib/python1.5/posixpath.pys   dirnameo s   c    s   v w x |  o x d Sn y |  d } z x |  d z r{ } { xo t t |   d { rV } | | | d  | | d  j o0 } | |  } ~ | d j o ~ d Sn  Pn qV Wq5 W | Sd S(   sG   Given a list of pathnames, returns the longest common leading components    i    i   N(   s   ms   prefixs   items   ranges   lens   i(   s   ms   prefixs   items   is:   /var/tmp/python/python-root/usr/lib/python1.5/posixpath.pys   commonprefixv s     	 	  c    s*      t  i |   }  | t i Sd S(   s1   Return the size of a file, reported by os.stat().N(   s   oss   stats   filenames   sts   ST_SIZE(   s   filenames   sts:   /var/tmp/python/python-root/usr/lib/python1.5/posixpath.pys   getsize s   c    s*      t  i |   }  | t i Sd S(   sC   Return the last modification time of a file, reported by os.stat().N(   s   oss   stats   filenames   sts   ST_MTIME(   s   filenames   sts:   /var/tmp/python/python-root/usr/lib/python1.5/posixpath.pys   getmtime s   c    s*      t  i |   }  | t i Sd S(   s=   Return the last access time of a file, reported by os.stat().N(   s   oss   stats   filenames   sts   ST_MTIME(   s   filenames   sts:   /var/tmp/python/python-root/usr/lib/python1.5/posixpath.pys   getatime s   c    sc      y  t  i |   } Wn&  t  i t f j
 o  d Sn X t i | t i  Sd S(   s&   Test whether a path is a symbolic linki    N(	   s   oss   lstats   paths   sts   errors   AttributeErrors   stats   S_ISLNKs   ST_MODE(   s   paths   sts:   /var/tmp/python/python-root/usr/lib/python1.5/posixpath.pys   islink s   c    sM      y  t  i |   } Wn   t  i j
 o  d Sn X d Sd S(   sD   Test whether a path exists.  Returns false for broken symbolic linksi    i   N(   s   oss   stats   paths   sts   error(   s   paths   sts:   /var/tmp/python/python-root/usr/lib/python1.5/posixpath.pys   exists s   c    s]      y  t  i |   } Wn   t  i j
 o  d Sn X t i | t i  Sd S(   s"   Test whether a path is a directoryi    N(   s   oss   stats   paths   sts   errors   S_ISDIRs   ST_MODE(   s   paths   sts:   /var/tmp/python/python-root/usr/lib/python1.5/posixpath.pys   isdir s   c    s]      y  t  i |   } Wn   t  i j
 o  d Sn X t i | t i  Sd S(   s%   Test whether a path is a regular filei    N(   s   oss   stats   paths   sts   errors   S_ISREGs   ST_MODE(   s   paths   sts:   /var/tmp/python/python-root/usr/lib/python1.5/posixpath.pys   isfile s   c    s>      t  i |   }  t  i |  }  t | |  Sd S(   s9   Test whether two pathnames reference the same actual fileN(   s   oss   stats   f1s   s1s   f2s   s2s   samestat(   s   f1s   f2s   s1s   s2s:   /var/tmp/python/python-root/usr/lib/python1.5/posixpath.pys   samefile s   c    s>      t  i |   }  t  i |  }  t | |  Sd S(   s:   Test whether two open file objects reference the same fileN(   s   oss   fstats   fp1s   s1s   fp2s   s2s   samestat(   s   fp1s   fp2s   s1s   s2s:   /var/tmp/python/python-root/usr/lib/python1.5/posixpath.pys   sameopenfile s   c    s@      |  t i | t i j o |  t i | t i j Sd S(   s5   Test whether two stat buffers reference the same fileN(   s   s1s   stats   ST_INOs   s2s   ST_DEV(   s   s1s   s2s:   /var/tmp/python/python-root/usr/lib/python1.5/posixpath.pys   samestat s   c    s      y1  t  i |   }  t  i t |  d   } Wn   t  i j
 o  d Sn X | t i }  | t i }  | | j o  d Sn  | t i
 }  | t i
 }  | | j o  d Sn  d Sd S(   s$   Test whether a path is a mount points   ..i    i   N(   s   oss   stats   paths   s1s   joins   s2s   errors   ST_DEVs   dev1s   dev2s   ST_INOs   ino1s   ino2(   s   paths   s1s   s2s   dev1s   dev2s   ino1s   ino2s:   /var/tmp/python/python-root/usr/lib/python1.5/posixpath.pys   ismount s   c    s    y t  i |   } Wn  t  i j
 o d Sn X	| | |  |  
d d f } xn | d ra } | | j oK t	 |  |  } t
 |  o t |  o t | | |  n n qp Wd S(   s   walk(top,func,args) calls func(arg, d, files) for each directory "d" 
in the tree  rooted at "top" (including "top" itself).  "files" is a list
of all the files and subdirs in directory "d".
Ns   .s   ..i    (   s   oss   listdirs   tops   namess   errors   funcs   args
   exceptionss   names   joins   isdirs   islinks   walk(   s   tops   funcs   args   namess
   exceptionss   names:   /var/tmp/python/python-root/usr/lib/python1.5/posixpath.pys   walk s    	c    sN  |  d  d j o |  Sn  d t |   f \ } } !x3 !| | j  o |  | d j o "| d } qF W#| d j o6 $t i i d  o %|  Sn &t i d } nW (k } )y *| i	 |  d | ! } Wn +t j
 o ,|  Sn X-| d } .| d d j o .| d } n /| |  | Sd S(   sK   Expand ~ and ~user constructions.  If user or $HOME is unknown, 
do nothingi   s   ~s   /s   HOMEi   N(   s   paths   lens   is   ns   oss   environs   has_keys   userhomes   pwds   getpwnams   pwents   KeyError(   s   paths   is   ns   userhomes   pwds   pwents:   /var/tmp/python/python-root/usr/lib/python1.5/posixpath.pys
   expandusers(    !	 c    sh  8:;<d |  j o =|  Sn >t o ?k } @| i d  a n Ad } Bx Bd o Ct i |  |  } D| o EPn F| i d  \ } } G| i	 d  } H| d  d j o | d d j o I| d d !} n Jt i i |  oE K|  | } L|  |  t i | }  Mt |   } N|  | }  n
 P| } q] WQ|  Sd S(   sU   Expand shell variables of form $var and ${var}.  Unknown variables
are left unchangeds   $s   \$(\w+|\{[^}]*\})i    i   s   {s   }N(   s   paths   _varprogs   res   compiles   is   searchs   ms   spans   js   groups   names   oss   environs   has_keys   tails   len(   s   paths   res   is   ms   js   names   tails:   /var/tmp/python/python-root/usr/lib/python1.5/posixpath.pys
   expandvars8s0   		 
&c    s  XYZk  } \d } ]x3 ]|  d  d j o ^| d } _|  d }  q W`| i |  d  } ad } bx,b| t |  j  oc| | d j oJ d| | =ex6 e| t |  j  o | | d j o f| | =q Wn g| | d j o% | d j o | | d d d f j o& h| | d | d 5i| d } nR j| | d j o | d j o | | d d j o k| | =n m| d } qu Wo| o | o p| i d  n q| | i | d  Sd S(   s0   Normalize path, eliminating double slashes, etc.s    i   s   /i    s   .s   ..N(	   s   strings   slashess   paths   splitfieldss   compss   is   lens   appends
   joinfields(   s   paths   strings   slashess   compss   is:   /var/tmp/python/python-root/usr/lib/python1.5/posixpath.pys   normpathXs2   		 	 
 '<6c    sA   uvt  |   o wt t i   |   }  n xt |   Sd  S(   N(   s   isabss   paths   joins   oss   getcwds   normpath(   s   paths:   /var/tmp/python/python-root/usr/lib/python1.5/posixpath.pys   abspathus   N(   s   __doc__s   oss   stats   normcases   isabss   joins   splits   splitexts
   splitdrives   basenames   dirnames   commonprefixs   getsizes   getmtimes   getatimes   islinks   existss   isdirs   isfiles   samefiles   sameopenfiles   samestats   ismounts   walks
   expandusers   Nones   _varprogs
   expandvarss   normpaths   abspath(    s:   /var/tmp/python/python-root/usr/lib/python1.5/posixpath.pys   ? s8   				

		 