1 from distutils.dep_util import newer_group 2 3 # yes, this is was almost entirely copy-pasted from 4 # 'newer_pairwise()', this is just another convenience 5 # function. 6 def newer_pairwise_group(sources_groups, targets): 7 """Walk both arguments in parallel, testing if each source group is newer 8 than its corresponding target. Returns a pair of lists (sources_groups, 9 targets) where sources is newer than target, according to the semantics 10 of 'newer_group()'. 11 """ 12 if len(sources_groups) != len(targets): 13 raise ValueError("'sources_group' and 'targets' must be the same length") 14 15 # build a pair of lists (sources_groups, targets) where source is newer 16 n_sources = [] 17 n_targets = [] 18 for i in range(len(sources_groups)): 19 if newer_group(sources_groups[i], targets[i]): 20 n_sources.append(sources_groups[i]) 21 n_targets.append(targets[i]) 22 23 return n_sources, n_targets 24