_ik dZddlZddlZddlmZddlmZddlm Z dZ dZ e fd Z d d Z eje e Zy) z2Timestamp comparison of files and groups of files.N)DistutilsFileError) zip_strict)splatctjj| xs?tjj|tjj|kDSN)ospathexistsgetmtimesourcetargets /builddir/build/BUILDROOT/alt-python312-setuptools-69.0.2-3.el8.x86_64/opt/alt/python312/lib/python3.12/site-packages/setuptools/_distutils/_modified.py_newerr sEww~~f% %   277#3#3F#;;ctjj|s+tdtjj |zt ||S)z Is source modified more recently than target. Returns True if 'source' is modified more recently than 'target' or if 'target' does not exist. Raises DistutilsFileError if 'source' does not exist. zfile '%s' does not exist)r r r rabspathrr s rnewerrs? 77>>& ! !;bggoof>U!UVV && !!rctt|t||}tt t t |xsggfS)a1 Filter filenames where sources are newer than targets. Walk two filename iterables in parallel, testing if each source is newer than its corresponding target. Returns a pair of lists (sources, targets) where source is newer than target, according to the semantics of 'newer()'. )filterrrtuplemaplistzip)sourcestargetsr newer_pairss rnewer_pairwiser s;uz'7'CDK T3 ,- . :2r(:rcfddk(rtjjnd}tfdt ||DS)a Is target out-of-date with respect to any file in sources. 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 how to handle a missing source file: - error (default): allow the ``stat()`` call to fail. - ignore: silently disregard any missing source files. - newer: treat missing source files as "target out of date". This mode is handy in "dry-run" mode: it will pretend to carry out commands that wouldn't work because inputs are missing, but that doesn't matter because dry-run won't run the commands. cRdk(xr tjj| S)Nr)r r r )rmissings rmissing_as_newerz%newer_group..missing_as_newer>s#'!@"''..*@&@@rignoreNc3JK|]}|xs t|ywr)r).0rr#rs r znewer_group..Bs-.F  :F66$::.s #)r r r anyr)rrr"ignoredr#s `` @r newer_groupr*-sB"A!(8 3bggnnG Wg. r)r)error)__doc__ functoolsos.pathr errorsr py39compatr _functoolsrrrrr*partialnewer_pairwise_grouprrr5sG8&" ",1 ;6)y(({Kr