tzh
2024-08-22 c7d0944258c7d0943aa7b2211498fd612971ce27
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
[\¬Qc@s§dZdZddlZddlZddlZddlmZddlmZm    Z    ddl
m Z ddd„ƒYZ ej d    „Zd
„Zd dd d „ZdS(ssdistutils.filelist
 
Provides the FileList class, used for poking about the filesystem
and building lists of files.
s$Id$iÿÿÿÿN(t convert_path(tDistutilsTemplateErrortDistutilsInternalError(tlogtFileListcBs˜eZdZddd„Zd„Zejd„Zd„Z    d„Z
d„Z d„Z d„Z d    „Zd
„Zd dd d „Zd dd d„ZRS(sÑA list of files built by on exploring the filesystem and filtered by
    applying various patterns to what we find there.
 
    Instance attributes:
      dir
        directory from which files will be taken -- only used if
        'allfiles' not supplied to constructor
      files
        list of filenames currently being built/filtered/manipulated
      allfiles
        complete list of files under consideration (ie. without any
        filtering applied)
    cCsd|_g|_dS(N(tNonetallfilestfiles(tselftwarnt debug_print((sZ/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/distutils/filelist.pyt__init__s    cCs ||_dS(N(R(RR((sZ/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/distutils/filelist.pyt set_allfiles$scCst|ƒ|_dS(N(tfindallR(Rtdir((sZ/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/distutils/filelist.pyR 'scCs"ddlm}|r|GHndS(s~Print 'msg' to stdout if the global DEBUG (taken from the
        DISTUTILS_DEBUG environment variable) flag is true.
        iÿÿÿÿ(tDEBUGN(tdistutils.debugR(RtmsgR((sZ/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/distutils/filelist.pyR
*scCs|jj|ƒdS(N(Rtappend(Rtitem((sZ/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/distutils/filelist.pyR4scCs|jj|ƒdS(N(Rtextend(Rtitems((sZ/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/distutils/filelist.pyR7scCs\ttjj|jƒ}|jƒg|_x*|D]"}|jjtjj|Œƒq2WdS(N(tmaptostpathtsplitRtsortRtjoin(Rtsortable_filest
sort_tuple((sZ/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/distutils/filelist.pyR:s
 
     cCsYxRtt|jƒdddƒD]1}|j||j|dkr |j|=q q WdS(Niiiÿÿÿÿ(trangetlenR(Rti((sZ/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/distutils/filelist.pytremove_duplicatesEs&cCs|jƒ}|d}d}}}|dkrht|ƒdkrRtd|‚ntt|dƒ}n¢|dkr¼t|ƒd kr–td |‚nt|dƒ}tt|dƒ}nN|dkrýt|ƒdkrêtd|‚nt|dƒ}n td|‚||||fS(Nitincludetexcludesglobal-includesglobal-excludeis&'%s' expects <pattern1> <pattern2> ...isrecursive-includesrecursive-excludeis,'%s' expects <dir> <pattern1> <pattern2> ...tgrafttprunes#'%s' expects a single <dir_pattern>sunknown action '%s'(sincludeR#sglobal-includesglobal-exclude(srecursive-includesrecursive-exclude(R$R%(RRRRRR(RtlinetwordstactiontpatternsRt dir_pattern((sZ/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/distutils/filelist.pyt_parse_template_lineNs, 
          cCs&|j|ƒ\}}}}|dkr}|jddj|ƒƒxÞ|D].}|j|ddƒsHtjd|ƒqHqHWn¥|dkrß|jddj|ƒƒx||D].}|j|ddƒsªtjd    |ƒqªqªWnC|d
krE|jd dj|ƒƒx|D]2}|j|dd ƒs tjd d|ƒq q WnÝ|dkr§|jddj|ƒƒx´|D].}|j|dd ƒsrtjd|ƒqrqrWn{|dkr|jd|dj|ƒfƒxL|D]5}|j|d|ƒsÚtjd d||ƒqÚqÚWn |dkr|jd|dj|ƒfƒxÝ|D]1}|j|d|ƒsItjd||ƒqIqIWn¡|dkrÉ|jd|ƒ|jdd|ƒs"tjd|ƒq"nY|dkr|jd|ƒ|jdd|ƒs"tjdd|ƒq"n td |‚dS(!NR"sinclude t tanchoris%warning: no files found matching '%s'R#sexclude s9warning: no previously-included files found matching '%s'sglobal-includesglobal-include is&warning: no files found matching '%s' sanywhere in distributionsglobal-excludesglobal-exclude sRwarning: no previously-included files matching '%s' found anywhere in distributionsrecursive-includesrecursive-include %s %stprefixsunder directory '%s'srecursive-excludesrecursive-exclude %s %ssNwarning: no previously-included files matching '%s' found under directory '%s'R$sgraft s+warning: no directories found matching '%s'R%sprune s)no previously-included directories found s matching '%s's'this cannot happen: invalid action '%s'(    R+R
Rtinclude_patternRR    texclude_patternRR(RR&R(R)RR*tpattern((sZ/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/distutils/filelist.pytprocess_template_linepsh                                                       iicCsœd}t||||ƒ}|jd|jƒ|jdkrK|jƒnxJ|jD]?}|j|ƒrU|jd|ƒ|jj|ƒd}qUqUW|S(s‚Select strings (presumably filenames) from 'self.files' that
        match 'pattern', a Unix-style wildcard (glob) pattern.
 
        Patterns are not quite the same as implemented by the 'fnmatch'
        module: '*' and '?'  match non-special characters, where "special"
        is platform-dependent: slash on Unix; colon, slash, and backslash on
        DOS/Windows; and colon on Mac OS.
 
        If 'anchor' is true (the default), then the pattern match is more
        stringent: "*.py" will match "foo.py" but not "foo/bar.py".  If
        'anchor' is false, both of these will match.
 
        If 'prefix' is supplied, then only filenames starting with 'prefix'
        (itself a pattern) and ending with 'pattern', with anything in between
        them, will match.  'anchor' is ignored in this case.
 
        If 'is_regex' is true, 'anchor' and 'prefix' are ignored, and
        'pattern' is assumed to be either a string containing a regex or a
        regex object -- no translation is done, the regex is just compiled
        and used as-is.
 
        Selected strings will be added to self.files.
 
        Return 1 if files are found.
        is%include_pattern: applying regex r'%s's adding iN(    ttranslate_patternR
R1RRR tsearchRR(RR1R-R.tis_regext files_foundt
pattern_retname((sZ/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/distutils/filelist.pyR/»s       cCsžd}t||||ƒ}|jd|jƒxhtt|jƒdddƒD]G}|j|j|ƒrO|jd|j|ƒ|j|=d}qOqOW|S(süRemove strings (presumably filenames) from 'files' that match
        'pattern'.
 
        Other parameters are the same as for 'include_pattern()', above.
        The list 'self.files' is modified in place. Return 1 if files are
        found.
        is%exclude_pattern: applying regex r'%s'iiÿÿÿÿs
 removing (R3R
R1RRRR4(RR1R-R.R5R6R7R ((sZ/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/distutils/filelist.pyR0ès     &
 N(t__name__t
__module__t__doc__RR R RtcurdirR R
RRRR!R+R2R/R0(((sZ/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/distutils/filelist.pyRs         
                       "    K-cCsddlm}m}m}m}g}|g}|j}|j}x»|r|ƒ}tj|ƒ}    x–|    D]Ž}
|tj    kr˜tj
j ||
ƒ} n|
} tj| ƒ} | |} || ƒrÓ|j| ƒqk|| ƒrk|| ƒ rk|| ƒqkqkWqFW|S(s^Find all files under 'dir' and return the list of full filenames
    (relative to 'dir').
    iÿÿÿÿ(tST_MODEtS_ISREGtS_ISDIRtS_ISLNK( tstatR=R>R?R@tpopRRtlistdirR<RR(RR=R>R?R@tlisttstackRBtpushtnamesR8tfullnameRAtmode((sZ/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/distutils/filelist.pyR s&"                     
 cCsStj|ƒ}tj}tjdkr0d}nd|}tjd||ƒ}|S(sçTranslate a shell-like glob pattern to a regular expression.
 
    Return a string containing the regex.  Differs from
    'fnmatch.translate()' in that '*' does not match "special characters"
    (which are platform-specific).
    s\s\\\\s\1[^%s]s((?<!\\)(\\\\)*)\.(tfnmatcht    translateRtseptretsub(R1R7RLtescaped((sZ/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/distutils/filelist.pyt
glob_to_re s        
iicCsÔ|r)t|tƒr"tj|ƒS|Sn|r>t|ƒ}nd}|dk    r´tdƒ}t|ƒt|ƒ  }tj}tjdkr”d}nd|j    |d|fƒ}n|rÇd|}ntj|ƒS(sTranslate a shell-like wildcard pattern to a compiled regular
    expression.
 
    Return the compiled regex.  If 'is_regex' true,
    then 'pattern' is directly compiled to a regex (if it's a string)
    or just returned as-is (assumes it's a regex object).
    ts\s\\t^s.*N(
t
isinstancetstrRMtcompileRPRRRRLR(R1R-R.R5R7t empty_patternt    prefix_reRL((sZ/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/distutils/filelist.pyR38s"             ((R;t __revision__RRMRJtdistutils.utilRtdistutils.errorsRRt    distutilsRRR<R RPRR3(((sZ/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/distutils/filelist.pyt<module>s ñ