Ńņ
#8Zc           @   sa   d  Z  d d k Z d d d d g Z h  Z d Z d   Z d	   Z d
   Z d   Z d   Z	 d S(   s£  Filename matching with shell patterns.

fnmatch(FILENAME, PATTERN) matches according to the local convention.
fnmatchcase(FILENAME, PATTERN) always takes case in account.

The functions operate by translating the pattern into a regular
expression.  They cache the compiled regular expressions for speed.

The function translate(PATTERN) returns a regular expression
corresponding to PATTERN.  (It does not compile it.)
i’’’’Nt   filtert   fnmatcht   fnmatchcaset	   translateid   c           C   s   t  i   d S(   s   Clear the pattern cacheN(   t   _cachet   clear(    (    (    s   /usr/lib/python2.6/fnmatch.pyt   _purge   s    c         C   s=   d d k  } | i i |   }  | i i |  } t |  |  S(   s½  Test whether FILENAME matches PATTERN.

    Patterns are Unix shell style:

    *       matches everything
    ?       matches any single character
    [seq]   matches any character in seq
    [!seq]  matches any char not in seq

    An initial period in FILENAME is not special.
    Both FILENAME and PATTERN are first case-normalized
    if the operating system requires it.
    If you don't want this, use fnmatchcase(FILENAME, PATTERN).
    i’’’’N(   t   ost   patht   normcaseR   (   t   namet   patR   (    (    s   /usr/lib/python2.6/fnmatch.pyR      s    c         C   s  d d k  } d d k } g  } | i i |  } | t j oD t |  } t t  t j o t i   n t	 i
 |  t | <n t | i } | i | j o3 xk |  D]$ } | |  o | i |  q„ q„ Wn< x8 |  D]0 } | | i i |   o | i |  qŲ qŲ W| S(   s2   Return the subset of the list NAMES that match PATi’’’’N(   R   t	   posixpathR   R	   R   R   t   lent	   _MAXCACHER   t   ret   compilet   matcht   append(   t   namesR   R   R   t   resultt   resR   R
   (    (    s   /usr/lib/python2.6/fnmatch.pyR    -   s&      c         C   sh   | t  j oD t |  } t t   t j o t  i   n t i |  t  | <n t  | i |   d j	 S(   s   Test whether FILENAME matches PATTERN, including case.

    This is a version of fnmatch() which doesn't case-normalize
    its arguments.
    N(	   R   R   R   R   R   R   R   R   t   None(   R
   R   R   (    (    s   /usr/lib/python2.6/fnmatch.pyR   C   s    c         C   sĀ  d t  |   } } d } x| | j  o|  | } | d } | d j o | d } q | d j o | d } q | d j o"| } | | j  o |  | d	 j o | d } n | | j  o |  | d
 j o | d } n x- | | j  o |  | d
 j o | d } qį W| | j o | d } qµ|  | | !i d d  } | d } | d d	 j o d | d } n  | d d j o d | } n d | | f } q | t i |  } q W| d S(   sf   Translate a shell PATTERN to a regular expression.

    There is no way to quote meta-characters.
    i    t    i   t   *s   .*t   ?t   .t   [t   !t   ]s   \[s   \s   \\t   ^s   %s[%s]s   \Z(?ms)(   R   t   replaceR   t   escape(   R   t   it   nR   t   ct   jt   stuff(    (    s   /usr/lib/python2.6/fnmatch.pyR   Q   s<     

 
(
   t   __doc__R   t   __all__R   R   R   R   R    R   R   (    (    (    s   /usr/lib/python2.6/fnmatch.pyt   <module>   s   				