From 59d325c236500eb5cd8e88e9f13094253d689de7 Mon Sep 17 00:00:00 2001 From: Daniel Nunes Date: Sat, 14 Jan 2017 22:05:18 +0000 Subject: Added newer_pairwise_group() convenience function. --- setuptools/dep_util.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 setuptools/dep_util.py (limited to 'setuptools/dep_util.py') diff --git a/setuptools/dep_util.py b/setuptools/dep_util.py new file mode 100644 index 00000000..2931c13e --- /dev/null +++ b/setuptools/dep_util.py @@ -0,0 +1,23 @@ +from distutils.dep_util import newer_group + +# yes, this is was almost entirely copy-pasted from +# 'newer_pairwise()', this is just another convenience +# function. +def newer_pairwise_group(sources_groups, targets): + """Walk both arguments in parallel, testing if each source group is newer + than its corresponding target. Returns a pair of lists (sources_groups, + targets) where sources is newer than target, according to the semantics + of 'newer_group()'. + """ + if len(sources_groups) != len(targets): + raise ValueError("'sources_group' and 'targets' must be the same length") + + # build a pair of lists (sources_groups, targets) where source is newer + n_sources = [] + n_targets = [] + for i in range(len(sources_groups)): + if newer_group(sources_groups[i], targets[i]): + n_sources.append(sources_groups[i]) + n_targets.append(targets[i]) + + return n_sources, n_targets -- cgit v1.2.3