diff --git a/bin/clean_up_sitterauths.pl b/bin/clean_up_sitterauths.pl index ae92301e..8b41b342 100644 --- a/bin/clean_up_sitterauths.pl +++ b/bin/clean_up_sitterauths.pl @@ -4,15 +4,16 @@ use warnings; use lib '/data/Lacuna-Server/lib'; use Getopt::Long; -use L; +use Lacuna; +my $quiet; GetOptions( 'quiet!' => \$quiet, ); out("Started."); -my $rs = LD->resultset("SitterAuths"); +my $rs = Lacuna->db->resultset("SitterAuths"); # we do not warn about expired auths since we've already warned them for the # previous AUTH_WARNING_DAYS days. @@ -21,25 +22,22 @@ out("Checking for messages to send."); my $soon = DateTime->now()->add(days => $rs->AUTH_WARNING_DAYS); my $dtf = Lacuna->db->storage->datetime_parser; -my $warnings = $rs->search( - { - expiry => { - '<' => $dtf->format_datetime($soon), - '>' => $dtf->format_datetime(DateTime->now), - }, - }, - { - join => ['sitter', 'baby'], - '+select' => [ 'sitter.name', 'baby.name' ], - '+as' => [ 'sitter_name', 'baby_name' ], - }, - ); +my $warnings = $rs->search({ + expiry => { + '<' => $dtf->format_datetime($soon), + '>' => $dtf->format_datetime(DateTime->now), + }, + },{ + join => ['sitter', 'baby'], + '+select' => [ 'sitter.name', 'baby.name' ], + '+as' => [ 'sitter_name', 'baby_name' ], + }, +); my %expiring_sitters; my %expiring_babies; my $now = DateTime->now; -while (my $auth = $warnings->next) -{ +while (my $auth = $warnings->next) { my $baby_name = $auth->get_column('baby_name'); my $sitter_name = $auth->get_column('sitter_name'); my %delta = $auth->expiry->subtract_datetime($now)->deltas(); @@ -51,20 +49,15 @@ while (my $auth = $warnings->next) $expiring_babies {$sitter_name}{$baby_name} = $expiry; } -for my $baby_name (sort keys %expiring_sitters) -{ +for my $baby_name (sort keys %expiring_sitters) { out("Warning baby ", $baby_name); my @table = ( - [ 'Empire', 'Expiring in' ], - map { - [ - $_ => $expiring_sitters{$baby_name}{$_} - ] - } sort keys %{$expiring_sitters{$baby_name}} - ); - - LD->empire({name => $baby_name})->send_predefined_message( + [ 'Empire', 'Expiring in' ], + map {[ $_ => $expiring_sitters{$baby_name}{$_} ] } sort keys %{$expiring_sitters{$baby_name}} + ); + + Lacuna->db->empire({name => $baby_name})->send_predefined_message( tags => ['Alert'], params => [ @table > 2 ? "Treaties" : "Treaty", @table > 2 ? "multiple" : "a", @@ -76,20 +69,15 @@ for my $baby_name (sort keys %expiring_sitters) ); } -for my $sitter_name (keys %expiring_babies) -{ +for my $sitter_name (keys %expiring_babies) { out("Warning sitter ", $sitter_name); my @table = ( - [ 'Empire', 'Expiring in' ], - map { - [ - $_ => $expiring_babies{$sitter_name}{$_} - ] - } sort keys %{$expiring_babies{$sitter_name}} - ); - - LD->empire({name => $sitter_name})->send_predefined_message( + [ 'Empire', 'Expiring in' ], + map {[ $_ => $expiring_babies{$sitter_name}{$_} ]} sort keys %{$expiring_babies{$sitter_name}} + ); + + Lacuna->db->empire({name => $sitter_name})->send_predefined_message( tags => ['Alert'], filename => 'expiring_babies.txt', params => [ @table > 2 ? "Treaties" : "Treaty", @@ -101,6 +89,11 @@ for my $sitter_name (keys %expiring_babies) ); } - - out("Done."); + +our $quiet; +sub out { + unless ($quiet) { + say DateTime->now, " ", @_; + } +}