Skip to content

Commit d7b7b46

Browse files
committed
Om first part er undefined, sett til main entity body
1 parent c41840d commit d7b7b46

File tree

2 files changed

+9
-84
lines changed

2 files changed

+9
-84
lines changed

mailrouter/in/2023_08_29T12_56_58_328.xml

-76
This file was deleted.

mailrouter/move_emails.pl

+9-8
Original file line numberDiff line numberDiff line change
@@ -22,31 +22,32 @@
2222
print "OBS! dryRunMode active, will not actually move any files!\n";
2323
}
2424

25-
my $fileTypeFilter = ".msg";
26-
2725
# Service og action kombinasjoner som skal flyttes
2826
my %messageTypes = (
2927
'behandlerKrav' => ["BehandlerKrav", "OppgjorsMelding"],
3028
'testType' => ["testService", "testAction"]
3129
);
3230

33-
printf "Checking directory %s...\n", $inputDirectory;
31+
printf "Input directory: %s\n", $inputDirectory;
32+
printf "New eMottak directory: %s\n", $newEmottakDirectory;
33+
printf "Old eMottak directory: %s\n", $oldEmottakDirectory;
34+
3435
opendir(DIR, $inputDirectory) or die "Can't open $inputDirectory: $!";
35-
printf "Moving files to directory %s...\n", $newEmottakDirectory;
3636

3737
my $moveCounter = 0;
3838
my $fileCounter = 0;
3939

4040
foreach my $filename (readdir(DIR)) {
41-
if ($filename =~ m/$fileTypeFilter/) {
41+
if (length($filename) > 2) {
4242
$fileCounter++;
4343
my $parser = MIME::Parser->new;
4444
$parser->output_to_core(1); #ikke skriv fil til disk
4545

4646
# Leser epost
4747
my $entity = $parser->parse_open("$inputDirectory/$filename");
48+
# $entity->dump_skeleton();
4849
my $first_part = $entity->parts(0);
49-
my $body = $first_part->bodyhandle->as_string;
50+
my $body = (defined $first_part) ? $first_part->bodyhandle->as_string : $entity->bodyhandle->as_string;
5051

5152
# Leser ebxml dokument
5253
my $xml_parser = XML::LibXML->new;
@@ -62,7 +63,7 @@
6263

6364
my $messageMatched = 0;
6465
foreach my $key (keys %messageTypes) {
65-
my @serviceAction = @{%messageTypes{$key}};
66+
my @serviceAction = @{$messageTypes{$key}};
6667
if ($serviceAction[0] eq $service and $serviceAction[1] eq $action) {
6768
$messageMatched = 1;
6869
}
@@ -85,6 +86,6 @@
8586
}
8687
}
8788

88-
printf "%s of %s files of type %s moved\n", $moveCounter, $fileCounter, $fileTypeFilter;
89+
printf "%s of %s files moved\n", $moveCounter, $fileCounter;
8990

9091
closedir(DIR);

0 commit comments

Comments
 (0)