
NXc           @  s  d  Z  d d l m Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l	 Z	 d d l
 Z
 d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l m Z d d l Z y d d l Z Wn e k
 r	n Xy d d l Z Wn e k
 r-n Xy d d l Z Wn e k
 rQn Xe j d f k Z e Z e f Z e Z e j Z  d   Z! e rd d l" Z" e" j# f Z e" j$ Z e j  Z  e	 j% d e!  n  e j& d    Z' d	 d
 g Z( d d d g Z) e) d d d g Z* e j+ d j, e)   Z- e j+ d j, e*   Z. e j+ d j/ e- j0   Z1 e j+ d j/ e. j0   Z2 y& d d l3 Z3 e3 j4 d  d j5 Z6 Wn0 e k
 rd Z6 n e3 j7 k
 rd Z6 n Xd e8 f d     YZ9 d   Z: d   Z; d e< f d     YZ= d e> f d     YZ? d e f d     YZ@ d  e> f d!     YZA d" f  d#     YZB d$ e@ f d%     YZC d&   ZD d'   ZE d( e f d)     YZF d* e@ f d+     YZG e( d, g 7Z( d S(-   u   
path.py - An object representing a path to a file or directory.

https://github.com/jaraco/path.py

Example::

    from path import Path
    d = Path('/home/guido/bin')
    for f in d.files('*.py'):
        f.chmod(0o755)
i(   t   unicode_literalsN(   t   dir_utili   c         C  sZ   |  j  |  j |  j !} t |  d k s. t  t |  } | d 7} t j |  |  j f S(   uS   
    Simulate the Python 3 ``surrogateescape`` handler, but for Python 2 only.
    i   i   (   t   objectt   startt   endt   lent   AssertionErrort   ordt   __builtin__t   unichr(   t   errort   charst   val(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   surrogate_escapeP   s
    
u   surrogateescapec          c  sM   y	 d  VWn= t  k
 rH }  t |  j   } t |  d d   | _ |  n Xd  S(   Nu   filename(   t   IOErrort   OSErrort   argst   getattrt   Nonet   filename(   t   io_errt   os_err(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   io_error_compata   s    	u   Pathu   CaseInsensitivePatternu   
u   u   
u   u    u    u   |u   (?:{0})$u   path.pyi    u   unknownt   TreeWalkWarningc           B  s   e  Z RS(    (   t   __name__t
   __module__(    (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR      s   c          G  s   d   } t  j | |   S(   Nc           s      f d   S(   Nc            s      |  |    S(   N(    (   R   t   kwargs(   t   f1t   f2(    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   <lambda>   s    (    (   R   R   (    (   R   R   s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR      s    (   t	   functoolst   reduce(   t   funcst   compose_two(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   compose   s    	c           s   i       f d   } | S(   u   
    Save results for the :meth:'path.using_module' classmethod.
    When Python 3.2 is available, use functools.lru_cache instead.
    c           s/   |   k r   | S |  |    | <  | S(   N(    (   t   clst   module(   t   saved_resultst   func(    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   wrapper   s    (    (   R&   R'   (    (   R%   R&   s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   simple_cache   s    t   ClassPropertyc           B  s   e  Z d    Z RS(   c         C  s   |  j  j d  |    S(   N(   t   fgett   __get__R   (   t   selfR#   t   owner(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR+      s    (   R   R   R+   (    (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR)      s   t   multimethodc           B  s    e  Z d  Z d   Z d   Z RS(   u|   
    Acts like a classmethod when invoked from the class and like an
    instancemethod when invoked from the instance.
    c         C  s   | |  _  d  S(   N(   R&   (   R,   R&   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   __init__   s    c         C  s5   | d  k r t j |  j |  St j |  j | |  S(   N(   R   R   t   partialR&   (   R,   t   instanceR-   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR+      s    (   R   R   t   __doc__R/   R+   (    (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR.      s   	t   Pathc           B  sD  e  Z d  Z e j Z d d  Z e e d     Z	 e
 e d     Z e d    Z d   Z d   Z d   Z d	   Z e Z d
   Z e Z d   Z d   Z e d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z e  d    Z! e  d    Z" e  d    Z# e  e d d d  Z% e  e d d d  Z& d   Z' d   Z( d   Z) d   Z* d    Z+ e  d!    Z, e- d"    Z. d#   Z/ d$ d%  Z0 d&   Z1 d d'  Z2 d d(  Z3 d d)  Z4 d d* d+  Z5 d d* d,  Z6 d d* d-  Z7 d d.  Z8 d/   Z9 d0   Z: d1   Z; d2   Z< e= d3  Z> d d* d4  Z? d d* e j@ e= d5  ZA d d* eB d6  ZC d d* e j@ e= d7  ZD d8   ZE d9   ZF d:   ZG d;   ZH d<   ZI d=   ZJ d>   ZK d?   ZL d@   ZM dA   ZN dB   ZO dC   ZP e  eP d d dD  ZQ dE   ZR e  eR d d dF  ZS dG   ZT e  eT d d dH  ZU dI   ZV e  eV d d dJ  ZW eX e dK  rdL   ZY n  dM   ZZ dN   Z[ dO   Z\ dP   Z] dQ   Z^ dR e_   k re\ Z` n dS e_   k re] Z` n e^ Z` e  e` d d dT  Za eX e dU  r,dV   Zb n  eX e dW  rGdX   Zc n  dY   Zd dZ   Ze d[ d[ d\  Zf d]   Zg d^   Zh d_ d`  Zi d_ da  Zj d_ db  Zk d_ dc  Zl dd   Zm de   Zn df   Zo dg   Zp dh   Zq di   Zr dj   Zs dk   Zt dl   Zu eX e dm  rdn   Zv n  eX e do  r1dp   Zw n  eX e dq  rUdr   Zx ds   Zy n  ez j{ Z{ ez j| Z| ez j} Z} ez j~ Z~ ez j Z ez j Z eX ez dt  rez j Z n  ez j Z du   Z dv   Z e Z e= dw  Z eX e dx  rdy   Z n  eX e dz  r	d{   Z n  e j d| d[ d d d d d}   Z e
 e d~     Z RS(   u  
    Represents a filesystem path.

    For documentation on individual methods, consult their
    counterparts in :mod:`os.path`.

    Some methods are additionally included from :mod:`shutil`.
    The functions are linked directly into the class namespace
    such that they will be bound to the Path instance. For example,
    ``Path(src).copy(target)`` is equivalent to
    ``shutil.copy(src, target)``. Therefore, when referencing
    the docs for these methods, assume `src` references `self`,
    the Path instance.
    u    c         C  s   | d  k r t d   n  d  S(   Nu$   Invalid initial value for path: None(   R   t	   TypeError(   R,   t   other(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR/      s    c         C  sO   |  j  d | j  } t r) t |  } n  |  f } i | d 6} t | | |  S(   Nu   _u   module(   R   t   PY2t   strt   type(   R#   R$   t   subclass_namet   basest   ns(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   using_module   s    	c         C  s   |  S(   uV   
        What class should be used to construct new instances from this class
        (    (   R#   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   _next_class   s    c         C  s/   t  s t | t  r | S| j t j   d  S(   u   
        Ensure the path as retrieved from a Python API, such as :func:`os.listdir`,
        is a proper Unicode string.
        u   surrogateescape(   t   PY3t
   isinstancet	   text_typet   decodet   syst   getfilesystemencoding(   R#   t   path(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   _always_unicode   s    c         C  s&   d t  |   j t t |   j   f S(   Nu   %s(%s)(   R8   R   t   superR3   t   __repr__(   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyRG      s    c         C  s<   y# |  j  t t |   j |   SWn t k
 r7 t SXd  S(   N(   R=   RF   R3   t   __add__R4   t   NotImplemented(   R,   t   more(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyRH      s    #c         C  s)   t  | t  s t S|  j | j |    S(   N(   R?   t   string_typesRI   R=   RH   (   R,   R5   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   __radd__   s    c         C  s   |  j  |  j j |  |   S(   u    fp.__div__(rel) == fp / rel == fp.joinpath(rel)

        Join two path components, adding a separator character if
        needed.

        .. seealso:: :func:`os.path.join`
        (   R=   R$   t   join(   R,   t   rel(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   __div__   s    c         C  s   |  j  |  j j | |    S(   u    fp.__rdiv__(rel) == rel / fp

        Join two path components, adding a separator character if
        needed.

        .. seealso:: :func:`os.path.join`
        (   R=   R$   RM   (   R,   RN   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   __rdiv__  s    c         C  s    |  j    |  _ t j |   |  S(   N(   t   getcwdt   _old_dirt   ost   chdir(   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt	   __enter__  s    c         G  s   t  j |  j  d  S(   N(   RS   RT   RR   (   R,   t   _(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   __exit__  s    c         C  s   |  t     S(   ui    Return the current working directory as a path object.

        .. seealso:: :func:`os.getcwdu`
        (   t   getcwdu(   R#   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyRQ     s    c         C  s   |  j  |  j j |    S(   u&    .. seealso:: :func:`os.path.abspath` (   R=   R$   t   abspath(   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyRY   %  s    c         C  s   |  j  |  j j |    S(   u'    .. seealso:: :func:`os.path.normcase` (   R=   R$   t   normcase(   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyRZ   )  s    c         C  s   |  j  |  j j |    S(   u'    .. seealso:: :func:`os.path.normpath` (   R=   R$   t   normpath(   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR[   -  s    c         C  s   |  j  |  j j |    S(   u'    .. seealso:: :func:`os.path.realpath` (   R=   R$   t   realpath(   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR\   1  s    c         C  s   |  j  |  j j |    S(   u)    .. seealso:: :func:`os.path.expanduser` (   R=   R$   t
   expanduser(   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR]   5  s    c         C  s   |  j  |  j j |    S(   u)    .. seealso:: :func:`os.path.expandvars` (   R=   R$   t
   expandvars(   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR^   9  s    c         C  s   |  j  |  j j |    S(   u6    .. seealso:: :attr:`parent`, :func:`os.path.dirname` (   R=   R$   t   dirname(   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR_   =  s    c         C  s   |  j  |  j j |    S(   u5    .. seealso:: :attr:`name`, :func:`os.path.basename` (   R=   R$   t   basename(   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR`   A  s    c         C  s   |  j    j   j   S(   u    Clean up a filename by calling :meth:`expandvars()`,
        :meth:`expanduser()`, and :meth:`normpath()` on it.

        This is commonly everything needed to clean up a filename
        read from a configuration file, for example.
        (   R^   R]   R[   (   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   expandE  s    c         C  s   |  j  j |  j  \ } } | S(   u    The same as :meth:`name`, but with one file extension stripped off.

        For example,
        ``Path('/home/guido/python.tar.gz').name == 'python.tar.gz'``,
        but
        ``Path('/home/guido/python.tar.gz').namebase == 'python.tar'``.
        (   R$   t   splitextt   name(   R,   t   baset   ext(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   namebaseN  s    	c         C  s   |  j  j |   \ } } | S(   u,    The file extension, for example ``'.py'``. (   R$   Rb   (   R,   t   fRe   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyRe   Z  s    c         C  s%   |  j  j |   \ } } |  j |  S(   u~    The drive specifier, for example ``'C:'``.

        This is always empty on systems that don't use drive specifiers.
        (   R$   t
   splitdriveR=   (   R,   t   drivet   r(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyRi   `  s    u    This path's parent directory, as a new Path object.

        For example,
        ``Path('/usr/local/lib/libpython.so').parent ==
        Path('/usr/local/lib')``

        .. seealso:: :meth:`dirname`, :func:`os.path.dirname`
        u    The name of this file or directory without the full path.

        For example,
        ``Path('/usr/local/lib/libpython.so').name == 'libpython.so'``

        .. seealso:: :meth:`basename`, :func:`os.path.basename`
        c         C  s+   |  j  j |   \ } } |  j |  | f S(   u    p.splitpath() -> Return ``(p.parent, p.name)``.

        .. seealso:: :attr:`parent`, :attr:`name`, :func:`os.path.split`
        (   R$   t   splitR=   (   R,   t   parentt   child(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt	   splitpath~  s    c         C  s+   |  j  j |   \ } } |  j |  | f S(   uF   p.splitdrive() -> Return ``(p.drive, <the rest of p>)``.

        Split the drive specifier from this path.  If there is
        no drive specifier, :samp:`{p.drive}` is empty, so the return value
        is simply ``(Path(''), p)``.  This is always the case on Unix.

        .. seealso:: :func:`os.path.splitdrive`
        (   R$   Rh   R=   (   R,   Ri   RN   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyRh     s    	c         C  s+   |  j  j |   \ } } |  j |  | f S(   u   p.splitext() -> Return ``(p.stripext(), p.ext)``.

        Split the filename extension from this path and return
        the two parts.  Either part may be empty.

        The extension is everything from ``'.'`` to the end of the
        last path segment.  This has the property that if
        ``(a, b) == p.splitext()``, then ``a + b == p``.

        .. seealso:: :func:`os.path.splitext`
        (   R$   Rb   R=   (   R,   R   Re   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyRb     s    c         C  s   |  j    d S(   u    p.stripext() -> Remove one file extension from the path.

        For example, ``Path('/home/guido/python.tar.gz').stripext()``
        returns ``Path('/home/guido/python.tar')``.
        i    (   Rb   (   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   stripext  s    c         C  s+   |  j  j |   \ } } |  j |  | f S(   u'    .. seealso:: :func:`os.path.splitunc` (   R$   t   splituncR=   (   R,   t   unct   rest(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyRp     s    c         C  s%   |  j  j |   \ } } |  j |  S(   ue   
        The UNC mount point for this path.
        This is empty for paths on local drives.
        (   R$   Rp   R=   (   R,   Rq   Rj   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   uncshare  s    c         G  s:   t  | |   s |  |  } n  | j | j j | |   S(   u   
        Join first to zero or more :class:`Path` components, adding a separator
        character (:samp:`{first}.module.sep`) if needed.  Returns a new instance of
        :samp:`{first}._next_class`.

        .. seealso:: :func:`os.path.join`
        (   R?   R=   R$   RM   (   R#   t   firstt   others(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   joinpath  s    	c         C  s   g  } |  } xW | t  j k re | t  j k re | } | j   \ } } | | k rU Pn  | j |  q W| j |  | j   | S(   u   Return a list of the path components in this path.

        The first item in the list will be a Path.  Its value will be
        either :data:`os.curdir`, :data:`os.pardir`, empty, or the root
        directory of this path (for example, ``'/'`` or ``'C:\\'``).  The
        other items in the list will be strings.

        ``path.Path.joinpath(*result)`` will yield the original path.
        (   RS   t   curdirt   pardirRn   t   appendt   reverse(   R,   t   partst   loct   prevRm   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   splitall  s    
!
u   .c         C  s   |  j  |  } | j |   S(   u{    Return this path as a relative path,
        based from `start`, which defaults to the current working directory.
        (   R=   t	   relpathto(   R,   R   t   cwd(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   relpath  s    c   
      C  s  |  j    } |  j |  j    } | j   j   } | j   } | d |  j j | d  k rc | Sd } xC t | |  D]2 \ } } | |  j j |  k r Pn  | d 7} qy Wt j g t |  | } | | | 7} t |  d k r t j	 }	 n |  j j
 |   }	 |  j |	  S(   u    Return a relative path from `self` to `dest`.

        If there is no relative path from `self` to `dest`, for example if
        they reside on different drives in Windows, then this returns
        ``dest.abspath()``.
        i    i   (   RY   R=   RZ   R~   R$   t   zipRS   Rx   R   Rw   RM   (
   R,   t   destt   origint	   orig_listt	   dest_listt   it	   start_segt   dest_segt   segmentsR   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR     s"     c         C  s]   | d k r d } n  g  t |  j t j |    D]( } |  j |  j |  r1 |  | ^ q1 S(   u   D.listdir() -> List of items in this directory.

        Use :meth:`files` or :meth:`dirs` instead if you want a listing
        of just files or just subdirectories.

        The elements of the list are Path objects.

        With the optional `pattern` argument, this only lists
        items whose names match the given pattern.

        .. seealso:: :meth:`files`, :meth:`dirs`
        u   *N(   R   t   mapRE   RS   t   listdirR=   t   fnmatch(   R,   t   patternRm   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR   	  s
    	c         C  s,   g  |  j  |  D] } | j   r | ^ q S(   uv   D.dirs() -> List of this directory's subdirectories.

        The elements of the list are Path objects.
        This does not walk recursively into subdirectories
        (but see :meth:`walkdirs`).

        With the optional `pattern` argument, this only lists
        directories whose names match the given pattern.  For
        example, ``d.dirs('build-*')``.
        (   R   t   isdir(   R,   R   t   p(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   dirs  s    c         C  s,   g  |  j  |  D] } | j   r | ^ q S(   uU   D.files() -> List of the files in this directory.

        The elements of the list are Path objects.
        This does not walk into subdirectories (see :meth:`walkfiles`).

        With the optional `pattern` argument, this only lists files
        whose names match the given pattern.  For example,
        ``d.files('*.pyc')``.
        (   R   t   isfile(   R,   R   R   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   files+  s    u   strictc         c  se  d d d     Y} t  |  rA | t |  k rA t d   n  t |  j | |  } y |  j   } Wn? t k
 r t j   d } d } | t   } | |  d SXx | D] } | d k s | j
 |  r | Vn  y | j   }	 WnD t k
 r1t j   d } d } | t   } | |  t }	 n X|	 r x" | j | |  D] }
 |
 VqKWq q Wd S(	   u   D.walk() -> iterator over files and subdirs, recursively.

        The iterator yields Path objects naming each child item of
        this directory and its descendants.  This requires that
        ``D.isdir()``.

        This performs a depth-first traversal of the directory tree.
        Each directory is returned just before all its children.

        The `errors=` keyword argument controls behavior when an
        error occurs.  The default is ``'strict'``, which causes an
        exception.  Other allowed values are ``'warn'`` (which
        reports the error via :func:`warnings.warn()`), and ``'ignore'``.
        `errors` may also be an arbitrary callable taking a msg parameter.
        t   Handlersc           B  s#   e  Z d    Z d   Z d   Z RS(   c         S  s     d  S(   N(    (   t   msg(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   strictI  s    c         S  s   t  j |  t  d  S(   N(   t   warningst   warnR   (   R   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR   L  s    c         S  s   d  S(   N(    (   R   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   ignoreO  s    (   R   R   R   R   R   (    (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR   H  s   		u   invalid errors parameteri   u,   Unable to list directory '%(self)s': %(exc)sNu%   Unable to access '%(child)s': %(exc)s(    (   t   callablet   varst
   ValueErrort   getR   t	   ExceptionRB   t   exc_infot   localsR   R   R   t   Falset   walk(   R,   R   t   errorsR   t	   childListt   exct   tmplR   Rm   R   t   item(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR   8  s4    



c         c  s   | d k r t  d   n  y |  j   } WnX t k
 r | d k rK d S| d k r t j d |  t j   d f t  d S  n XxS | D]K } | d k s | j	 |  r | Vn  x | j
 | |  D] } | Vq Wq Wd S(	   u<   D.walkdirs() -> iterator over subdirs, recursively.

        With the optional `pattern` argument, this yields only
        directories whose names match the given pattern.  For
        example, ``mydir.walkdirs('*test')`` yields only directories
        with names ending in ``'test'``.

        The `errors=` keyword argument controls behavior when an
        error occurs.  The default is ``'strict'``, which causes an
        exception.  The other allowed values are ``'warn'`` (which
        reports the error via :func:`warnings.warn()`), and ``'ignore'``.
        u   strictu   warnu   ignoreu   invalid errors parameterNu!   Unable to list directory '%s': %si   (   u   strictu   warnu   ignore(   R   R   R   R   R   RB   R   R   R   R   t   walkdirs(   R,   R   R   R   Rm   t	   subsubdir(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR   o  s&    c         c  sj  | d	 k r t  d   n  y |  j   } WnX t k
 r | d k rK d S| d k r t j d |  t j   d f t  d S  n Xx | D] } y# | j   } | o | j	   } WnR | d k r q q| d k rt j d |  t j   d f t  q q  n X| r7| d k s,| j |  rb| Vqbq | r x" | j | |  D] } | VqPWq q Wd S(
   u   D.walkfiles() -> iterator over files in D, recursively.

        The optional argument `pattern` limits the results to files
        with names that match the pattern.  For example,
        ``mydir.walkfiles('*.tmp')`` yields only files with the ``.tmp``
        extension.
        u   strictu   warnu   ignoreu   invalid errors parameterNu!   Unable to list directory '%s': %si   u   Unable to access '%s': %s(   u   strictu   warnu   ignore(   R   R   R   R   R   RB   R   R   R   R   R   R   t	   walkfiles(   R,   R   R   R   Rm   R   R   Rg   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR     sD    c         C  sO   t  | d |  j j  } | p! | } | |  j  } | |  } t j | |  S(   u   Return ``True`` if `self.name` matches the given `pattern`.

        `pattern` - A filename pattern with wildcards,
            for example ``'*.py'``. If the pattern contains a `normcase`
            attribute, it is applied to the name and path prior to comparison.

        `normcase` - (optional) A function used to normalize the pattern and
            filename before matching. Defaults to :meth:`self.module`, which defaults
            to :meth:`os.path.normcase`.

        .. seealso:: :func:`fnmatch.fnmatch`
        u   normcase(   R   R$   RZ   Rc   R   t   fnmatchcase(   R,   R   RZ   t   default_normcaseRc   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR     s
    c         C  s3   |  j  } g  t j |  |  D] } | |  ^ q S(   u=   Return a list of Path objects that match the pattern.

        `pattern` - a path relative to this directory, with wildcards.

        For example, ``Path('/users').glob('*/bin/*')`` returns a list
        of all the files users have in their :file:`bin` directories.

        .. seealso:: :func:`glob.glob`
        (   R=   t   glob(   R,   R   R#   t   s(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR     s    
	c         O  s'   t     t j |  | |  SWd QXd S(   u    Open this file and return a corresponding :class:`file` object.

        Keyword arguments work as in :func:`io.open`.  If the file cannot be
        opened, an :class:`~exceptions.OSError` is raised.
        N(   R   t   iot   open(   R,   R   R   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR     s    
c         C  s&   |  j  d   } | j   SWd QXd S(   u:    Open this file, read all bytes, return them as a string. u   rbN(   R   t   read(   R,   Rg   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   bytes  s    c         /  sJ   |  j  | |   2   x( t    f d   d  D] } | Vq1 WWd QXd S(   u   Returns a generator yielding chunks of the file, so it can
            be read piece by piece with a simple for loop.

           Any argument you pass after `size` will be passed to :meth:`open`.

           :example:

               >>> hash = hashlib.md5()
               >>> for chunk in Path("path.py").chunks(8192, mode='rb'):
               ...     hash.update(chunk)

            This will read the file by chunks of 8192 bytes.
        c             s    j     p d  S(   N(   R   R   (    (   t   sizeRg   (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR     s    N(   R   t   iterR   (   R,   R   R   R   t   chunk(    (   Rg   R   s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   chunks  s    "c         C  s>   | r d } n d } |  j  |   } | j |  Wd QXd S(   u    Open this file and write the given bytes to it.

        Default behavior is to overwrite any existing file.
        Call ``p.write_bytes(bytes, append=True)`` to append instead.
        u   abu   wbN(   R   t   write(   R,   R   Ry   t   modeRg   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   write_bytes  s
    	c         C  sA   |  j  d d d | d |   } t j d | j    SWd QXd S(   u    Open this file, read it in, return the content as a string.

        All newline sequences are converted to ``'\n'``.  Keyword arguments
        will be passed to :meth:`open`.

        .. seealso:: :meth:`lines`
        R   u   rt   encodingR   u   
N(   R   t	   U_NEWLINEt   subR   (   R,   R   R   Rg   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   text  s    !c         C  s   t  | t  rQ | d k	 r0 t j | |  } n  | j | pE t j   |  } n$ | d k sc t  t	 j | |  } |  j
 | d | d S(   u.
   Write the given text to this file.

        The default behavior is to overwrite any existing file;
        to append instead, use the `append=True` keyword argument.

        There are two differences between :meth:`write_text` and
        :meth:`write_bytes`: newline handling and Unicode handling.
        See below.

        Parameters:

          `text` - str/unicode - The text to be written.

          `encoding` - str - The Unicode encoding that will be used.
              This is ignored if `text` isn't a Unicode string.

          `errors` - str - How to handle Unicode encoding errors.
              Default is ``'strict'``.  See ``help(unicode.encode)`` for the
              options.  This is ignored if `text` isn't a Unicode
              string.

          `linesep` - keyword argument - str/unicode - The sequence of
              characters to be used to mark end-of-line.  The default is
              :data:`os.linesep`.  You can also specify ``None`` to
              leave all newlines as they are in `text`.

          `append` - keyword argument - bool - Specifies what to do if
              the file already exists (``True``: append to the end of it;
              ``False``: overwrite it.)  The default is ``False``.


        --- Newline handling.

        ``write_text()`` converts all standard end-of-line sequences
        (``'\n'``, ``'\r'``, and ``'\r\n'``) to your platform's default
        end-of-line sequence (see :data:`os.linesep`; on Windows, for example,
        the end-of-line marker is ``'\r\n'``).

        If you don't like your platform's default, you can override it
        using the `linesep=` keyword argument.  If you specifically want
        ``write_text()`` to preserve the newlines as-is, use ``linesep=None``.

        This applies to Unicode text the same as to 8-bit text, except
        there are three additional standard Unicode end-of-line sequences:
        ``u'\x85'``, ``u'\r\x85'``, and ``u' '``.

        (This is slightly different from when you open a file for
        writing with ``fopen(filename, "w")`` in C or ``open(filename, 'w')``
        in Python.)


        --- Unicode

        If `text` isn't Unicode, then apart from newline handling, the
        bytes are written verbatim to the file.  The `encoding` and
        `errors` arguments are not used and must be omitted.

        If `text` is Unicode, it is first converted to :func:`bytes` using the
        specified `encoding` (or the default encoding if `encoding`
        isn't specified).  The `errors` argument applies only to this
        conversion.

        Ry   N(   R?   R@   R   R   R   t   encodeRB   t   getdefaultencodingR   t   NEWLINER   (   R,   R   R   R   t   linesepRy   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt
   write_text  s    A!c         C  sT   | d k r7 | r7 |  j d   } | j   SWd QXn |  j | |  j |  Sd S(   uL   Open this file, read all lines, return them in a list.

        Optional arguments:
            `encoding` - The Unicode encoding (or character set) of
                the file.  The default is ``None``, meaning the content
                of the file is read as 8-bit characters and returned
                as a list of (non-Unicode) str objects.
            `errors` - How to handle Unicode errors; see help(str.decode)
                for the options.  Default is ``'strict'``.
            `retain` - If ``True``, retain newline characters; but all newline
                character combinations (``'\r'``, ``'\n'``, ``'\r\n'``) are
                translated to ``'\n'``.  If ``False``, newline characters are
                stripped off.  Default is ``True``.

        This uses ``'U'`` mode.

        .. seealso:: :meth:`text`
        u   UN(   R   R   t	   readlinesR   t
   splitlines(   R,   R   R   t   retainRg   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   linesh  s    c   
   	   C  s   |  j  | r d n d   } x | D] } t | t  } | d k	 rq | rR t n t }	 |	 j d |  | } n  | r | j | p t j	   |  } n  | j
 |  q% WWd QXd S(   u   Write the given lines of text to this file.

        By default this overwrites any existing file at this path.

        This puts a platform-specific newline sequence on every line.
        See `linesep` below.

            `lines` - A list of strings.

            `encoding` - A Unicode encoding to use.  This applies only if
                `lines` contains any Unicode strings.

            `errors` - How to handle errors in Unicode encoding.  This
                also applies only to Unicode strings.

            linesep - The desired line-ending.  This line-ending is
                applied to every line.  If a line already has any
                standard line ending (``'\r'``, ``'\n'``, ``'\r\n'``,
                ``u'\x85'``, ``u'\r\x85'``, ``u' '``), that will
                be stripped off and this will be used instead.  The
                default is os.linesep, which is platform-dependent
                (``'\r\n'`` on Windows, ``'\n'`` on Unix, etc.).
                Specify ``None`` to write the lines as-is, like
                :meth:`file.writelines`.

        Use the keyword argument ``append=True`` to append lines to the
        file.  The default is to overwrite the file.

        .. warning ::

            When you use this with Unicode data, if the encoding of the
            existing data in the file is different from the encoding
            you specify with the `encoding=` parameter, the result is
            mixed-encoding data, which can really confuse someone trying
            to read the file later.
        u   abu   wbu    N(   R   R?   R@   R   t   U_NL_ENDt   NL_ENDR   R   RB   R   R   (
   R,   R   R   R   R   Ry   Rg   t   lt	   isUnicodeR   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   write_lines  s    &!c         C  s   |  j  d  S(   u    Calculate the md5 hash for this file.

        This reads through the entire file.

        .. seealso:: :meth:`read_hash`
        u   md5(   t	   read_hash(   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   read_md5  s    c         C  s@   t  j |  } x* |  j d d d D] } | j |  q% W| S(   u    Returns a hash object for the file at the current path.

            `hash_name` should be a hash algo name (such as ``'md5'`` or ``'sha1'``)
            that's available in the :mod:`hashlib` module.
        i    R   u   rb(   t   hashlibt   newR   t   update(   R,   t	   hash_namet   mR   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   _hash  s    c         C  s   |  j  |  j   S(   u    Calculate given hash for this file.

        List of supported hashes can be obtained from :mod:`hashlib` package.
        This reads the entire file.

        .. seealso:: :meth:`hashlib.hash.digest`
        (   R   t   digest(   R,   R   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR     s    c         C  s   |  j  |  j   S(   u    Calculate given hash for this file, returning hexdigest.

        List of supported hashes can be obtained from :mod:`hashlib` package.
        This reads the entire file.

        .. seealso:: :meth:`hashlib.hash.hexdigest`
        (   R   t	   hexdigest(   R,   R   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   read_hexhash  s    c         C  s   |  j  j |   S(   u$    .. seealso:: :func:`os.path.isabs` (   R$   t   isabs(   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR     s    c         C  s   |  j  j |   S(   u%    .. seealso:: :func:`os.path.exists` (   R$   t   exists(   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR     s    c         C  s   |  j  j |   S(   u$    .. seealso:: :func:`os.path.isdir` (   R$   R   (   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR     s    c         C  s   |  j  j |   S(   u%    .. seealso:: :func:`os.path.isfile` (   R$   R   (   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR     s    c         C  s   |  j  j |   S(   u%    .. seealso:: :func:`os.path.islink` (   R$   t   islink(   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR     s    c         C  s   |  j  j |   S(   u&    .. seealso:: :func:`os.path.ismount` (   R$   t   ismount(   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR     s    c         C  s_   t  |  j d  sL t |  j   j   j   } |  j   j   j   | k S|  j j |  |  S(   u'    .. seealso:: :func:`os.path.samefile` u   samefile(   t   hasattrR$   R3   R\   R[   RZ   t   samefile(   R,   R5   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR     s    c         C  s   |  j  j |   S(   u6    .. seealso:: :attr:`atime`, :func:`os.path.getatime` (   R$   t   getatime(   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR     s    uh    Last access time of the file.

        .. seealso:: :meth:`getatime`, :func:`os.path.getatime`
        c         C  s   |  j  j |   S(   u6    .. seealso:: :attr:`mtime`, :func:`os.path.getmtime` (   R$   t   getmtime(   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR     s    uj    Last-modified time of the file.

        .. seealso:: :meth:`getmtime`, :func:`os.path.getmtime`
        c         C  s   |  j  j |   S(   u6    .. seealso:: :attr:`ctime`, :func:`os.path.getctime` (   R$   t   getctime(   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR     s    ue    Creation time of the file.

        .. seealso:: :meth:`getctime`, :func:`os.path.getctime`
        c         C  s   |  j  j |   S(   u4    .. seealso:: :attr:`size`, :func:`os.path.getsize` (   R$   t   getsize(   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR     s    ud    Size of the file, in bytes.

        .. seealso:: :meth:`getsize`, :func:`os.path.getsize`
        u   accessc         C  s   t  j |  |  S(   u    Return ``True`` if current user has access to this path.

            mode - One of the constants :data:`os.F_OK`, :data:`os.R_OK`,
            :data:`os.W_OK`, :data:`os.X_OK`

            .. seealso:: :func:`os.access`
            (   RS   t   access(   R,   R   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR   *  s    c         C  s   t  j |   S(   um    Perform a ``stat()`` system call on this path.

        .. seealso:: :meth:`lstat`, :func:`os.stat`
        (   RS   t   stat(   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR   4  s    c         C  s   t  j |   S(   us    Like :meth:`stat`, but do not follow symbolic links.

        .. seealso:: :meth:`stat`, :func:`os.lstat`
        (   RS   t   lstat(   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR   ;  s    c         C  sH   t  j |  t  j  } | j   } t  j d |  \ } } } | d | S(   u   
        Return the name of the owner of this file or directory. Follow
        symbolic links.

        Return a name of the form ``r'DOMAIN\User Name'``; may be a group.

        .. seealso:: :attr:`owner`
        u   \N(   t   win32securityt   GetFileSecurityt   OWNER_SECURITY_INFORMATIONt   GetSecurityDescriptorOwnert   LookupAccountSidR   (   R,   t   desct   sidt   accountt   domaint   typecode(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   __get_owner_windowsB  s
    	c         C  s   |  j    } t j | j  j S(   u   
        Return the name of the owner of this file or directory. Follow
        symbolic links.

        .. seealso:: :attr:`owner`
        (   R   t   pwdt   getpwuidt   st_uidt   pw_name(   R,   t   st(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   __get_owner_unixQ  s    c         C  s   t  d   d  S(   Nu)   Ownership not available on this platform.(   t   NotImplementedError(   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   __get_owner_not_implemented[  s    u   win32securityu   pwduU    Name of the owner of this file or directory.

        .. seealso:: :meth:`get_owner`u   statvfsc         C  s   t  j |   S(   ul    Perform a ``statvfs()`` system call on this path.

            .. seealso:: :func:`os.statvfs`
            (   RS   t   statvfs(   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR   l  s    u   pathconfc         C  s   t  j |  |  S(   u"    .. seealso:: :func:`os.pathconf` (   RS   t   pathconf(   R,   Rc   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR   t  s    c         C  s   t  j |  |  |  S(   u`    Set the access and modified times of this file.

        .. seealso:: :func:`os.utime`
        (   RS   t   utime(   R,   t   times(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR   {  s    c         C  sG   t  | t  r3 t |  } | |  j   j  } n  t j |  |  |  S(   u   
        Set the mode. May be the new mode (os.chmod behavior) or a `symbolic
        mode <http://en.wikipedia.org/wiki/Chmod#Symbolic_modes>`_.

        .. seealso:: :func:`os.chmod`
        (   R?   RK   t   _multi_permission_maskR   t   st_modeRS   t   chmod(   R,   R   t   mask(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR     s
    ic         C  s   t  t d  r d t   k rB t | t  rB t j |  j } n  d t   k ru t | t  ru t j	 |  j
 } n  t j |  | |  n t d   |  S(   u   
        Change the owner and group by names rather than the uid or gid numbers.

        .. seealso:: :func:`os.chown`
        u   chownu   pwdu   grpu)   Ownership not available on this platform.(   R   RS   t   globalsR?   RK   R   t   getpwnamt   pw_uidt   grpt   getgrnamt   gr_gidt   chownR   (   R,   t   uidt   gid(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR    s    c         C  s   t  j |  |  |  j |  S(   u     .. seealso:: :func:`os.rename` (   RS   t   renameR=   (   R,   R   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR    s    c         C  s   t  j |  |  |  j |  S(   u!    .. seealso:: :func:`os.renames` (   RS   t   renamesR=   (   R,   R   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR	    s    i  c         C  s   t  j |  |  |  S(   u    .. seealso:: :func:`os.mkdir` (   RS   t   mkdir(   R,   R   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR
    s    c         C  sV   y |  j  |  Wn> t k
 rQ t j   \ } } } | j t j k rR   qR n X|  S(   u^    Like :meth:`mkdir`, but does not raise an exception if the
        directory already exists. (   R
  R   RB   R   t   errnot   EEXIST(   R,   R   RV   t   e(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   mkdir_p  s    
c         C  s   t  j |  |  |  S(   u"    .. seealso:: :func:`os.makedirs` (   RS   t   makedirs(   R,   R   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR    s    c         C  sV   y |  j  |  Wn> t k
 rQ t j   \ } } } | j t j k rR   qR n X|  S(   ua    Like :meth:`makedirs`, but does not raise an exception if the
        directory already exists. (   R  R   RB   R   R  R  (   R,   R   RV   R  (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt
   makedirs_p  s    
c         C  s   t  j |   |  S(   u    .. seealso:: :func:`os.rmdir` (   RS   t   rmdir(   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR    s    c         C  se   y |  j    WnP t k
 r` t j   \ } } } | j t j k ra | j t j k ra   qa n X|  S(   un    Like :meth:`rmdir`, but does not raise an exception if the
        directory is not empty or does not exist. (   R  R   RB   R   R  t	   ENOTEMPTYR  (   R,   RV   R  (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   rmdir_p  s    $
c         C  s   t  j |   |  S(   u$    .. seealso:: :func:`os.removedirs` (   RS   t
   removedirs(   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR    s    c         C  se   y |  j    WnP t k
 r` t j   \ } } } | j t j k ra | j t j k ra   qa n X|  S(   us    Like :meth:`removedirs`, but does not raise an exception if the
        directory is not empty or does not exist. (   R  R   RB   R   R  R  R  (   R,   RV   R  (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   removedirs_p  s    $
c         C  s@   t  j |  t  j t  j Bd  } t  j |  t  j |  d  |  S(   uw    Set the access/modified times of this file to the current time.
        Create the file if it does not exist.
        i  N(   RS   R   t   O_WRONLYt   O_CREATt   closeR   R   (   R,   t   fd(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   touch  s    c         C  s   t  j |   |  S(   u     .. seealso:: :func:`os.remove` (   RS   t   remove(   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR    s    c         C  sS   y |  j    Wn> t k
 rN t j   \ } } } | j t j k rO   qO n X|  S(   uZ    Like :meth:`remove`, but does not raise an exception if the
        file does not exist. (   t   unlinkR   RB   R   R  t   ENOENT(   R,   RV   R  (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   remove_p  s    
c         C  s   t  j |   |  S(   u     .. seealso:: :func:`os.unlink` (   RS   R  (   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR    s    c         C  s   |  j    |  S(   uZ    Like :meth:`unlink`, but does not raise an exception if the
        file does not exist. (   R  (   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   unlink_p  s    
u   linkc         C  s   t  j |  |  |  j |  S(   uo    Create a hard link at `newpath`, pointing to this file.

            .. seealso:: :func:`os.link`
            (   RS   t   linkR=   (   R,   t   newpath(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR     s    u   symlinkc         C  s   t  j |  |  |  j |  S(   un    Create a symbolic link at `newlink`, pointing here.

            .. seealso:: :func:`os.symlink`
            (   RS   t   symlinkR=   (   R,   t   newlink(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR"    s    u   readlinkc         C  s   |  j  t j |    S(   u    Return the path to which this symbolic link points.

            The result may be an absolute or a relative path.

            .. seealso:: :meth:`readlinkabs`, :func:`os.readlink`
            (   R=   RS   t   readlink(   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR$  (  s    c         C  s1   |  j    } | j   r | S|  j | j   Sd S(   u    Return the path to which this symbolic link points.

            The result is always an absolute path.

            .. seealso:: :meth:`readlink`, :func:`os.readlink`
            N(   R$  R   Rl   RY   (   R,   R   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   readlinkabs1  s    u   movec         C  sS   y |  j    Wn> t k
 rN t j   \ } } } | j t j k rO   qO n X|  S(   u_    Like :meth:`rmtree`, but does not raise an exception if the
        directory does not exist. (   t   rmtreeR   RB   R   R  R  (   R,   RV   R  (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   rmtree_pL  s    
c         C  s   t  j |   d S(   u    .. seealso:: :func:`os.chdir` N(   RS   RT   (   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyRT   W  s    c         O  sp   | j  d t  } t   O } | t t |    } |  j | | | |  t j | | d | d | Wd QXd S(   u,  
        Copy entire contents of self to dst, overwriting existing
        contents in dst with those in self.

        If the additional keyword `update` is True, each
        `src` will only be copied if `dst` does not exist,
        or `src` is newer than `dst`.

        Note that the technique employed stages the files in a temporary
        directory first, so this function is not suitable for merging
        trees with large files, especially if the temporary directory
        is not capable of storing a copy of the entire source tree.
        u   updatet   preserve_symlinksR   N(   t   popR   t   tempdirR7   t   hasht   copytreeR   t	   copy_tree(   R,   t   dstt   symlinksR   R   R   t	   _temp_dirt   stage(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt
   merge_tree]  s    u   chrootc         C  s   t  j |   d S(   u     .. seealso:: :func:`os.chroot` N(   RS   t   chroot(   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR3  z  s    u	   startfilec         C  s   t  j |   |  S(   u#    .. seealso:: :func:`os.startfile` (   RS   t	   startfile(   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR4    s    u   rc         c  s  d d l  } t |  j d  r0 t d   n  |  | pC t j d } y t j |  Wn t j k
 rn n Xt j |  |  | j	 | | d | d | d | d	 | }	 y t j
 |	 j    j }
 WnH t k
 rt	 |  d
 | j d d  d | d | d | d	 | } n Xt j t j Bt j B} t t d  rF| t j O} n  t j	 |  | |
  } | j	 | d
 | j d d  d | d | d | d	 | } y& t t d  rt j |  |
  n  Wn t k
 rn Xz y |	 | f VWn` t k
 rC|	 j   | j   y t j |   Wn t j k
 r,n Xt j | |     n X|	 j   | j   Wd y t j |  Wn t j k
 rn XXd S(   uQ  
        A context in which a file may be re-written in-place with new content.

        Yields a tuple of :samp:`({readable}, {writable})` file objects, where `writable`
        replaces `readable`.

        If an exception occurs, the old file is restored, removing the
        written data.

        Mode *must not* use ``'w'``, ``'a'``, or ``'+'``; only read-only-modes are
        allowed. A :exc:`ValueError` is raised on invalid modes.

        For example, to add line numbers to a file::

            p = Path(filename)
            assert p.isfile()
            with p.in_place() as (reader, writer):
                for number, line in enumerate(reader, 1):
                    writer.write('{0:3}: '.format(number)))
                    writer.write(line)

        Thereafter, the file at `filename` will have line numbers in it.
        iNu   wa+u%   Only read-only file modes can be usedu   bakt	   bufferingR   R   t   newlineu   wu   ru    u   O_BINARYu   chmod(   R   t   sett   intersectionR   RS   t   extsepR  R
   R  R   t   fstatt   filenoR   R   t   replaceR  R  t   O_TRUNCR   t   O_BINARYR   R   R  (   R,   R   R5  R   R   R6  t   backup_extensionR   t	   backup_fnt   readablet   permt   writablet   os_modeR  (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   in_place  s^    	 


c         C  s   t  j t |   S(   u  
        Return a SpecialResolver object suitable referencing a suitable
        directory for the relevant platform for the given
        type of content.

        For example, to get a user config directory, invoke:

            dir = Path.special().user.config

        Uses the `appdirs
        <https://pypi.python.org/pypi/appdirs/1.4.0>`_ to resolve
        the paths in a platform-friendly way.

        To create a config directory for 'My App', consider:

            dir = Path.special("My App").user.config.makedirs_p()

        If the ``appdirs`` module is not installed, invocation
        of special will raise an ImportError.
        (   R   R0   t   SpecialResolver(   R#   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   special  s    N(   R   R   R2   RS   RD   R$   R/   t   classmethodR(   R<   R)   R=   RE   RG   RH   RL   RO   t   __truediv__RP   t   __rtruediv__RU   RW   RQ   RY   RZ   R[   R\   R]   R^   R_   R`   Ra   t   propertyRf   Re   Ri   R   Rl   Rc   Rn   Rh   Rb   Ro   Rp   Rs   R.   Rv   R~   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   t   TrueR   R   R   R   R   R   R   R   R   R   R   R   R   R   t   atimeR   t   mtimeR   t   ctimeR   R   R   R   R   R   t   _Path__get_owner_windowst   _Path__get_owner_unixt    _Path__get_owner_not_implementedR   t	   get_ownerR-   R   R   R   R   R  R  R	  R
  R  R  R  R  R  R  R  R  R  R  R  R  R   R"  R$  R%  t   shutilt   copyfilet   copymodet   copystatt   copyt   copy2R,  t   moveR&  R'  RT   t   cdR2  R3  R4  t
   contextlibt   contextmanagerRE  RG  (    (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR3      s:  																																(7$0					I/				
																				
				
																														ORF  c           B  s6   e  Z d  d d     YZ d   Z d   Z d   Z RS(   t   ResolverScopec           B  s   e  Z d    Z d   Z RS(   c         C  s   | |  _  | |  _ d  S(   N(   t   pathst   scope(   R,   R_  R`  (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR/     s    	c         C  s   |  j  j |  j |  S(   N(   R_  t   get_dirR`  (   R,   t   class_(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   __getattr__  s    (   R   R   R/   Rc  (    (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR^    s   	c         O  sR   t  j d  } | o% | j d d   t |   j d | d | j | |    d  S(   Nu   appdirsu   appnamet
   path_classR'   (   t	   importlibt   import_modulet
   setdefaultR   R   R   t   AppDirs(   R,   Rd  R   R   t   appdirs(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR/     s
    c         C  s   |  j  |  |  S(   N(   R^  (   R,   R`  (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyRc    s    c         C  sC   d j  t     } t |  j |  } t j |  j  } | j |  S(   us   
        Return the callable function from appdirs, but with the
        result wrapped in self.path_class
        u   {scope}_{class_}_dir(   t   formatR   R   R'   t   Multit	   for_classRd  t   detect(   R,   R`  Rb  t	   prop_namet   valuet	   MultiPath(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyRa  	  s    (    (   R   R   R^  R/   Rc  Ra  (    (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyRF    s   		Rk  c           B  sJ   e  Z d  Z e d    Z e d    Z d   Z e e d     Z RS(   uS   
    A mix-in for a Path which may contain multiple Path separated by pathsep.
    c         C  s8   d | j  } t r" t |  } n  t | |  | f i   S(   Nu   Multi(   R   R6   R7   R8   (   R#   t   path_clsRc   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyRl    s    c         C  s%   t  j | k r |  j }  n  |  |  S(   N(   RS   t   pathsepR=   (   R#   t   input(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyRm    s    c         C  s"   t  t |  j |  j t j    S(   N(   R   R   R=   Rk   RS   Rr  (   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   __iter__%  s    c         C  s   t  d   |  j D  S(   u>   
        Multi-subclasses should use the parent class
        c         s  s$   |  ] } t  | t  s | Vq d  S(   N(   t
   issubclassRk  (   t   .0Rb  (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pys	   <genexpr>/  s   (   t   nextt   __mro__(   R#   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR=   (  s    (	   R   R   R2   RH  Rl  Rm  Rt  R)   R=   (    (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyRk    s   	R*  c           B  sG   e  Z d  Z e e d     Z d   Z d   Z d   Z d   Z	 RS(   uO  
    A temporary directory via :func:`tempfile.mkdtemp`, and constructed with the
    same parameters that you can use as a context manager.

    Example:

        with tempdir() as d:
            # do stuff with the Path object "d"

        # here the directory is deleted automatically

    .. seealso:: :func:`tempfile.mkdtemp`
    c         C  s   t  S(   N(   R3   (   R#   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR=   D  s    c         O  s+   t  j | |   } t t |   j |  |  S(   N(   t   tempfilet   mkdtempRF   R*  t   __new__(   R#   R   R   R_   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR{  I  s    c         O  s   d  S(   N(    (   R,   R   R   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR/   M  s    c         C  s   |  S(   N(    (   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyRU   P  s    c         C  s   | s |  j    n  d  S(   N(   R&  (   R,   t   exc_typet	   exc_valuet	   traceback(    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyRW   S  s    (
   R   R   R2   R)   RH  R=   R{  R/   RU   RW   (    (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR*  5  s   			c         C  s+   d   } t  j | t t |  j d    S(   u   
    Support multiple, comma-separated Unix chmod symbolic modes.

    >>> _multi_permission_mask('a=r,u+w')(0) == 0o644
    True
    c           s      f d   S(   Nc            s      |  |    S(   N(    (   R   R   (   Rg   t   g(    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR   _  s    (    (   Rg   R  (    (   R  Rg   s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR   _  s    u   ,(   R   R   R   t   _permission_maskRk   (   R   R"   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR   X  s    	c           s  t  j d |   } | s* t d |    n  t d d d d d d    f d	   | j d
  D } t j t j | d   t d d d d d d    | j d  j	 d d  }    f d   | D } t j t j |  } | j d  } | d k r| d N} n  | d k rF  f d   | D } t j t j |  d A n  i t j d 6t j
 d 6 f d   d 6} t j | | |  S(   u3  
    Convert a Unix chmod symbolic mode like ``'ugo+rwx'`` to a function
    suitable for applying to a mask to affect that change.

    >>> mask = _permission_mask('ugo+rwx')
    >>> mask(0o554) == 0o777
    True

    >>> _permission_mask('go-x')(0o777) == 0o766
    True

    >>> _permission_mask('o-x')(0o445) == 0o444
    True

    >>> _permission_mask('a+x')(0) == 0o111
    True

    >>> _permission_mask('a=rw')(0o057) == 0o666
    True

    >>> _permission_mask('u=x')(0o666) == 0o166
    True

    >>> _permission_mask('g=')(0o157) == 0o107
    True
    u.   (?P<who>[ugoa]+)(?P<op>[-+=])(?P<what>[rwx]*)$u   Unrecognized symbolic modeRj   i   t   wi   t   xi   c         3  s   |  ] }   | Vq d  S(   N(    (   Rv  RB  (   t   spec_map(    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pys	   <genexpr>  s    u   whati    t   ui   R  i   t   ou   whou   au   ugoc         3  s   |  ] }    | >Vq d  S(   N(    (   Rv  t   subj(   t   spect	   shift_map(    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pys	   <genexpr>  s    u   opu   -i  u   =c         3  s   |  ] } d    | >Vq d S(   i   N(    (   Rv  R  (   R  (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pys	   <genexpr>  s    u   +c           s   |   @|  AS(   N(    (   R   t   target(   R   (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR     s    (   t   ret   matchR   t   dictt   groupR   R   t   operatort   or_R<  t   and_R0   (   R   t   parsedt   specst   whot   masksR   t   opt   op_map(    (   R  R  R  R   s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR  c  s*    

t   CaseInsensitivePatternc           B  s   e  Z d  Z e d    Z RS(   u  
    A string with a ``'normcase'`` property, suitable for passing to
    :meth:`listdir`, :meth:`dirs`, :meth:`files`, :meth:`walk`,
    :meth:`walkdirs`, or :meth:`walkfiles` to match case-insensitive.

    For example, to get all files ending in .py, .Py, .pY, or .PY in the
    current directory::

        from path import Path, CaseInsensitivePattern as ci
        Path('.').files(ci('*.py'))
    c         C  s   t  d  j S(   Nu   ntpath(   t
   __import__RZ   (   R,   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyRZ     s    (   R   R   R2   RK  RZ   (    (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR    s   RD   c           B  s   e  Z d    Z RS(   c         O  s)   d } t  j | t  t j |  | |  S(   Nu%   path is deprecated. Use Path instead.(   R   R   t   DeprecationWarningR3   R{  (   R#   R   R   R   (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyR{    s    (   R   R   R{  (    (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyRD     s   u   path(H   R2   t
   __future__R    RB   R   RS   R   R   RT  t   codecsR   R  Ry  R   R  R  R\  R   t	   distutilsR   Re  R   t   ImportErrorR   R  t   version_infoR>   R6   R7   RK   R@   RQ   RX   R   R   t
   basestringt   unicodet   register_errorR]  R   t   __all__t   LINESEPSt
   U_LINESEPSt   compileRM   R   R   Rj  R   R   R   t   pkg_resourcest   requiret   versiont   __version__t   DistributionNotFoundt   WarningR   R"   R(   RK  R)   R   R.   R3   RF  Rk  R*  R   R  R  RD   (    (    (    s<   /data/av2000/mvv/env_mvv/lib/python2.7/site-packages/path.pyt   <module>"   s   			
			
		     G#!#		>