Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
19eb4a20
Commit
19eb4a20
authored
Jan 09, 2000
by
Greg Ward
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
'newer_group()' can now deal with missing files, in a way specified by
the 'missing' parameter.
parent
91c5d0ef
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
17 additions
and
2 deletions
+17
-2
Lib/distutils/util.py
Lib/distutils/util.py
+17
-2
No files found.
Lib/distutils/util.py
View file @
19eb4a20
...
@@ -120,11 +120,18 @@ def newer_pairwise (sources, targets):
...
@@ -120,11 +120,18 @@ def newer_pairwise (sources, targets):
# newer_pairwise ()
# newer_pairwise ()
def
newer_group
(
sources
,
target
):
def
newer_group
(
sources
,
target
,
missing
=
'error'
):
"""Return true if 'target' is out-of-date with respect to any
"""Return true if 'target' is out-of-date with respect to any
file listed in 'sources'. In other words, if 'target' exists and
file listed in 'sources'. In other words, if 'target' exists and
is newer than every file in 'sources', return false; otherwise
is newer than every file in 'sources', return false; otherwise
return true."""
return true. 'missing' controls what we do when a source file is
missing; the default ("error") is to blow up with an OSError from
inside 'stat()'; if it is "ignore", we silently drop any missing
source files; if it is "newer", any missing source files make us
assume that 'target' is out-of-date (this is handy in "dry-run"
mode: it'll make you pretend to carry out commands that wouldn't
work because inputs are missing, but that doesn't matter because
you're not actually going to run the commands)."""
# If the target doesn't even exist, then it's definitely out-of-date.
# If the target doesn't even exist, then it's definitely out-of-date.
if
not
os
.
path
.
exists
(
target
):
if
not
os
.
path
.
exists
(
target
):
...
@@ -137,6 +144,14 @@ def newer_group (sources, target):
...
@@ -137,6 +144,14 @@ def newer_group (sources, target):
from
stat
import
ST_MTIME
from
stat
import
ST_MTIME
target_mtime
=
os
.
stat
(
target
)[
ST_MTIME
]
target_mtime
=
os
.
stat
(
target
)[
ST_MTIME
]
for
source
in
sources
:
for
source
in
sources
:
if
not
os
.
path
.
exists
(
source
):
if
missing
==
'error'
:
# blow up when we stat() the file
pass
elif
missing
==
'ignore'
:
# missing source dropped from
continue
# target's dependency list
elif
missing
==
'newer'
:
# missing source means target is
return
1
# out-of-date
source_mtime
=
os
.
stat
(
source
)[
ST_MTIME
]
source_mtime
=
os
.
stat
(
source
)[
ST_MTIME
]
if
source_mtime
>
target_mtime
:
if
source_mtime
>
target_mtime
:
return
1
return
1
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment