]> git.donarmstrong.com Git - debbugs.git/blobdiff - Debbugs/DB/Load.pm
switch all uses of MoreUtils to AllUtils
[debbugs.git] / Debbugs / DB / Load.pm
index e768df97609195a90a8209a847861685c83ae46d..4ad36d9f17fd1b895951f1bf1d7f2a6e4c20a66c 100644 (file)
@@ -42,7 +42,7 @@ BEGIN{
 }
 
 use Params::Validate qw(validate_with :types);
-use List::MoreUtils qw(natatime);
+use List::AllUtils qw(natatime);
 
 use Debbugs::Status qw(read_bug split_status_fields);
 use Debbugs::DB;
@@ -385,8 +385,12 @@ sub load_bug_log {
                                subject => $subject
                               });
            eval {
-               $m->sent_date(DateTime::Format::Mail->
-                             parse_datetime($entity->head->get('Date',0)));
+               my $date = DateTime::Format::Mail->
+                    parse_datetime($entity->head->get('Date',0));
+                if (abs($date->offset) >= 60 * 60 * 12) {
+                    $date = $date->set_time_zone('UTC');
+                }
+                $m->sent_date($date);
            };
            my $spam = $entity->head->get('X-Spam-Status',0)//'';
            if ($spam=~ /score=([\d\.]+)/) {
@@ -400,9 +404,11 @@ sub load_bug_log {
            my @cors;
            for my $type (keys %corr) {
                for my $addr (@{$corr{$type}}) {
+                    my $cor = $s->resultset('Correspondent')->
+                        get_correspondent_id($addr);
+                    next unless defined $cor;
                    push @cors,
-                       {correspondent => $s->resultset('Correspondent')->
-                        get_correspondent_id($addr),
+                       {correspondent => $cor,
                         correspondent_type => $type,
                        };
                }
@@ -410,7 +416,8 @@ sub load_bug_log {
            $m->update();
            $s->txn_do(sub {
                           $m->message_correspondents()->delete();
-                          $m->add_to_message_correspondents(@cors);
+                          $m->add_to_message_correspondents(@cors) if
+                               @cors;
                       }
                      );
        }