$29 GRAYBYTE WORDPRESS FILE MANAGER $81

SERVER : vnpttt-amd7f72-h1.vietnix.vn #1 SMP Fri May 24 12:42:50 UTC 2024
SERVER IP : 103.200.23.149 | ADMIN IP 216.73.216.22
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/opt/alt/python27/lib64/python2.7/distutils/

HOME
Current File : /opt/alt/python27/lib64/python2.7/distutils//dep_util.py
"""distutils.dep_util

Utility functions for simple, timestamp-based dependency of files
and groups of files; also, function based entirely on such
timestamp dependency analysis."""

__revision__ = "$Id$"

import os
from stat import ST_MTIME
from distutils.errors import DistutilsFileError

def newer(source, target):
    """Tells if the target is newer than the source.

    Return true if 'source' exists and is more recently modified than
    'target', or if 'source' exists and 'target' doesn't.

    Return false if both exist and 'target' is the same age or younger
    than 'source'. Raise DistutilsFileError if 'source' does not exist.

    Note that this test is not very accurate: files created in the same second
    will have the same "age".
    """
    if not os.path.exists(source):
        raise DistutilsFileError("file '%s' does not exist" %
                                 os.path.abspath(source))
    if not os.path.exists(target):
        return True

    return os.stat(source)[ST_MTIME] > os.stat(target)[ST_MTIME]

def newer_pairwise(sources, targets):
    """Walk two filename lists in parallel, testing if each source is newer
    than its corresponding target.  Return a pair of lists (sources,
    targets) where source is newer than target, according to the semantics
    of 'newer()'.
    """
    if len(sources) != len(targets):
        raise ValueError, "'sources' and 'targets' must be same length"

    # build a pair of lists (sources, targets) where  source is newer
    n_sources = []
    n_targets = []
    for source, target in zip(sources, targets):
        if newer(source, target):
            n_sources.append(source)
            n_targets.append(target)

    return n_sources, n_targets

def newer_group(sources, target, missing='error'):
    """Return true if 'target' is out-of-date with respect to any file
    listed in 'sources'.

    In other words, if 'target' exists and is newer
    than every file in 'sources', return false; otherwise 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 not os.path.exists(target):
        return True

    # Otherwise we have to find out the hard way: if *any* source file
    # is more recent than 'target', then 'target' is out-of-date and
    # we can immediately return true.  If we fall through to the end
    # of the loop, then 'target' is up-to-date and we return false.
    target_mtime = os.stat(target)[ST_MTIME]

    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 True             #  out-of-date

        if os.stat(source)[ST_MTIME] > target_mtime:
            return True

    return False

Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
14 Aug 2025 9.29 PM
root / 996
0755
command
--
14 Aug 2025 9.24 PM
root / 996
0755
README
0.288 KB
8 Jan 2025 5.43 PM
root / 996
0644
__init__.py
0.23 KB
8 Jan 2025 5.43 PM
root / 996
0644
__init__.pyc
0.418 KB
8 Jan 2025 5.43 PM
root / 996
0644
__init__.pyo
0.418 KB
8 Jan 2025 5.43 PM
root / 996
0644
archive_util.py
8.026 KB
8 Jan 2025 5.43 PM
root / 996
0644
archive_util.pyc
7.524 KB
8 Jan 2025 5.43 PM
root / 996
0644
archive_util.pyo
7.524 KB
8 Jan 2025 5.43 PM
root / 996
0644
bcppcompiler.py
14.591 KB
8 Jan 2025 5.43 PM
root / 996
0644
bcppcompiler.pyc
7.812 KB
8 Jan 2025 5.43 PM
root / 996
0644
bcppcompiler.pyo
7.812 KB
8 Jan 2025 5.43 PM
root / 996
0644
ccompiler.py
45.631 KB
8 Jan 2025 5.43 PM
root / 996
0644
ccompiler.pyc
36.716 KB
8 Jan 2025 5.43 PM
root / 996
0644
ccompiler.pyo
36.578 KB
8 Jan 2025 5.43 PM
root / 996
0644
cmd.py
18.818 KB
8 Jan 2025 5.43 PM
root / 996
0644
cmd.pyc
16.88 KB
8 Jan 2025 5.43 PM
root / 996
0644
cmd.pyo
16.88 KB
8 Jan 2025 5.43 PM
root / 996
0644
config.py
4.037 KB
8 Jan 2025 5.43 PM
root / 996
0644
config.pyc
3.57 KB
8 Jan 2025 5.43 PM
root / 996
0644
config.pyo
3.57 KB
8 Jan 2025 5.43 PM
root / 996
0644
core.py
8.808 KB
8 Jan 2025 5.43 PM
root / 996
0644
core.pyc
7.41 KB
8 Jan 2025 5.43 PM
root / 996
0644
core.pyo
7.41 KB
8 Jan 2025 5.43 PM
root / 996
0644
cygwinccompiler.py
17.319 KB
8 Jan 2025 5.43 PM
root / 996
0644
cygwinccompiler.pyc
9.747 KB
8 Jan 2025 5.43 PM
root / 996
0644
cygwinccompiler.pyo
9.747 KB
8 Jan 2025 5.43 PM
root / 996
0644
debug.py
0.158 KB
8 Jan 2025 5.43 PM
root / 996
0644
debug.pyc
0.261 KB
8 Jan 2025 5.43 PM
root / 996
0644
debug.pyo
0.261 KB
8 Jan 2025 5.43 PM
root / 996
0644
dep_util.py
3.427 KB
8 Jan 2025 5.43 PM
root / 996
0644
dep_util.pyc
3.156 KB
8 Jan 2025 5.43 PM
root / 996
0644
dep_util.pyo
3.156 KB
8 Jan 2025 5.43 PM
root / 996
0644
dir_util.py
7.684 KB
8 Jan 2025 5.43 PM
root / 996
0644
dir_util.pyc
6.716 KB
8 Jan 2025 5.43 PM
root / 996
0644
dir_util.pyo
6.716 KB
8 Jan 2025 5.43 PM
root / 996
0644
dist.py
48.876 KB
8 Jan 2025 5.43 PM
root / 996
0644
dist.pyc
39.108 KB
8 Jan 2025 5.43 PM
root / 996
0644
dist.pyo
39.108 KB
8 Jan 2025 5.43 PM
root / 996
0644
emxccompiler.py
11.651 KB
8 Jan 2025 5.43 PM
root / 996
0644
emxccompiler.pyc
7.406 KB
8 Jan 2025 5.43 PM
root / 996
0644
emxccompiler.pyo
7.406 KB
8 Jan 2025 5.43 PM
root / 996
0644
errors.py
3.412 KB
8 Jan 2025 5.43 PM
root / 996
0644
errors.pyc
6.392 KB
8 Jan 2025 5.43 PM
root / 996
0644
errors.pyo
6.392 KB
8 Jan 2025 5.43 PM
root / 996
0644
extension.py
10.648 KB
8 Jan 2025 5.43 PM
root / 996
0644
extension.pyc
7.289 KB
8 Jan 2025 5.43 PM
root / 996
0644
extension.pyo
7.068 KB
8 Jan 2025 5.43 PM
root / 996
0644
fancy_getopt.py
17.527 KB
8 Jan 2025 5.43 PM
root / 996
0644
fancy_getopt.pyc
11.944 KB
8 Jan 2025 5.43 PM
root / 996
0644
fancy_getopt.pyo
11.771 KB
8 Jan 2025 5.43 PM
root / 996
0644
file_util.py
7.94 KB
8 Jan 2025 5.43 PM
root / 996
0644
file_util.pyc
6.655 KB
8 Jan 2025 5.43 PM
root / 996
0644
file_util.pyo
6.655 KB
8 Jan 2025 5.43 PM
root / 996
0644
filelist.py
12.392 KB
8 Jan 2025 5.43 PM
root / 996
0644
filelist.pyc
10.72 KB
8 Jan 2025 5.43 PM
root / 996
0644
filelist.pyo
10.72 KB
8 Jan 2025 5.43 PM
root / 996
0644
log.py
1.646 KB
8 Jan 2025 5.43 PM
root / 996
0644
log.pyc
2.873 KB
8 Jan 2025 5.43 PM
root / 996
0644
log.pyo
2.873 KB
8 Jan 2025 5.43 PM
root / 996
0644
msvc9compiler.py
30.277 KB
8 Jan 2025 5.43 PM
root / 996
0644
msvc9compiler.pyc
21.387 KB
8 Jan 2025 5.43 PM
root / 996
0644
msvc9compiler.pyo
21.315 KB
8 Jan 2025 5.43 PM
root / 996
0644
msvccompiler.py
23.083 KB
8 Jan 2025 5.43 PM
root / 996
0644
msvccompiler.pyc
17.444 KB
8 Jan 2025 5.43 PM
root / 996
0644
msvccompiler.pyo
17.444 KB
8 Jan 2025 5.43 PM
root / 996
0644
spawn.py
8.445 KB
8 Jan 2025 5.43 PM
root / 996
0644
spawn.pyc
6.365 KB
8 Jan 2025 5.43 PM
root / 996
0644
spawn.pyo
6.365 KB
8 Jan 2025 5.43 PM
root / 996
0644
sysconfig.py
17.292 KB
8 Jan 2025 5.43 PM
root / 996
0644
sysconfig.py.debug-build
17.209 KB
8 Jan 2025 5.43 PM
root / 996
0644
sysconfig.pyc
13.29 KB
8 Jan 2025 5.43 PM
root / 996
0644
sysconfig.pyo
13.29 KB
8 Jan 2025 5.43 PM
root / 996
0644
text_file.py
12.137 KB
8 Jan 2025 5.43 PM
root / 996
0644
text_file.pyc
9.182 KB
8 Jan 2025 5.43 PM
root / 996
0644
text_file.pyo
9.182 KB
8 Jan 2025 5.43 PM
root / 996
0644
unixccompiler.py
13.889 KB
8 Jan 2025 5.43 PM
root / 996
0644
unixccompiler.py.distutils-rpath
13.356 KB
8 Jan 2025 5.43 PM
root / 996
0644
unixccompiler.pyc
8.188 KB
8 Jan 2025 5.43 PM
root / 996
0644
unixccompiler.pyo
8.188 KB
8 Jan 2025 5.43 PM
root / 996
0644
util.py
17.809 KB
8 Jan 2025 5.43 PM
root / 996
0644
util.pyc
14.227 KB
8 Jan 2025 5.43 PM
root / 996
0644
util.pyo
14.227 KB
8 Jan 2025 5.43 PM
root / 996
0644
version.py
11.165 KB
8 Jan 2025 5.43 PM
root / 996
0644
version.pyc
7.229 KB
8 Jan 2025 5.43 PM
root / 996
0644
version.pyo
7.229 KB
8 Jan 2025 5.43 PM
root / 996
0644
versionpredicate.py
4.976 KB
8 Jan 2025 5.43 PM
root / 996
0644
versionpredicate.pyc
5.501 KB
8 Jan 2025 5.43 PM
root / 996
0644
versionpredicate.pyo
5.501 KB
8 Jan 2025 5.43 PM
root / 996
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF