Ñò
mÈKc           @   sR   d  Z  d d k Z d d d d g Z h  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	   translatec         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 o# t | ƒ } 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   t   _cacheR   t   ret   compilet   matcht   append(   t   namesR   R   R	   t   resultt   resR   R   (    (    s   /usr/lib/python2.6/fnmatch.pyR    (   s"      c         C   sG   | t  j o# t | ƒ } 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   t   None(   R   R   R   (    (    s   /usr/lib/python2.6/fnmatch.pyR   <   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)(   t   lent   replaceR   t   escape(   R   t   it   nR   t   ct   jt   stuff(    (    s   /usr/lib/python2.6/fnmatch.pyR   H   s<     

 
(   t   __doc__R   t   __all__R
   R   R    R   R   (    (    (    s   /usr/lib/python2.6/fnmatch.pyt   <module>   s   			