mirror of https://github.com/digint/btrbk
btrbk: add depends callback to scheduler
parent
2a1a42e824
commit
6373e32875
12
btrbk
12
btrbk
|
@ -4638,6 +4638,7 @@ sub schedule(@)
|
|||
my $result_hints = $args{result_hints} // {};
|
||||
my $result_preserve_action_text = $args{result_preserve_action_text};
|
||||
my $result_delete_action_text = $args{result_delete_action_text} // 'delete';
|
||||
my $depends_fn = $args{depends};
|
||||
|
||||
my $preserve_day_of_week = $preserve->{dow} || die;
|
||||
my $preserve_hour_of_day = $preserve->{hod} // die;
|
||||
|
@ -4786,6 +4787,17 @@ sub schedule(@)
|
|||
}
|
||||
}
|
||||
|
||||
if($depends_fn) {
|
||||
# for all preserved, check depends against all non-preserved
|
||||
foreach my $href (grep $_->{preserve}, @sorted_schedule) {
|
||||
my ($dtxt, $deps) = $depends_fn->($href, grep(!$_->{preserve}, @sorted_schedule));
|
||||
foreach my $dep (@$deps) {
|
||||
DEBUG "Preserving dependent: $dep->{value}{PRINT} <- $href->{value}{PRINT}";
|
||||
$dep->{preserve} = "preserve forced: $dtxt";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# assemble results
|
||||
my @delete;
|
||||
my @preserve;
|
||||
|
|
Loading…
Reference in New Issue