diff --git a/LoadCSVData.pl b/LoadCSVData.pl index 16af98d..bba5295 100644 --- a/LoadCSVData.pl +++ b/LoadCSVData.pl @@ -49,6 +49,7 @@ my $email_addr = 'andrea.carri@aseltd.eu,edoardo.cavalca@aseltd.eu,alessandro.battilani@gmail.com,alessandro.valletta@aseltd.eu'; my ( $email_msg, $email_obj ); my $G201_fcheck = 0; +my $D2W_fcheck = 0; sub getTimeStamp { # parm [ts] => timestamp for filename; log => timestamp for log @@ -504,7 +505,7 @@ elsif ( $filecsvname =~ m/^G201_ID\d\d\d\d_DT\d\d\d\d_\d*_\d*$/i ) { $fileTime = $strings[6] . ":" . $strings[7] . ":" . $strings[8]; $tooltype = 'MUX'; } -elsif ( $filecsvname =~ m/^D2W_ID\d\d\d\d_DT\d\d\d\d$/i ) { +elsif ( $filecsvname =~ m/^D2W_ID\d\d\d\d_DT\d\d\d\d_\d*$/i ) { my @strings = $filecsvname =~ /(.{1,3})_(.{1,6})_(.{1,6}).*/; $unittype = $strings[0]; $unit = $strings[1]; @@ -550,8 +551,14 @@ while ( my $line = ) { getNodesType(); $G201_fcheck = 1; } + if ( $unittype eq 'D2W' and $D2W_fcheck eq 0 ) { + print getTimeStamp("log") + . " - pid $$ >> Found $tooltype tool name: $tool\n"; + getNodesType(); + $D2W_fcheck = 1; + } - if ( $tooltype eq "MUX" or $tooltype eq "MUX" ) { + if ( $tooltype eq "MUX" or $tooltype eq "D2W" ) { #$NodeData =~ s/Dis\./N\/A/g; @NewData = grep /\S/, split( /\||;/, $NodeData ); diff --git a/UnitCsvReceiverSmart.pl b/UnitCsvReceiverSmart.pl index 32d5b9a..f16a32f 100644 --- a/UnitCsvReceiverSmart.pl +++ b/UnitCsvReceiverSmart.pl @@ -27,18 +27,26 @@ sub getTimeStamp sub getUnitName { # parm => file received ($trfile) my ($filename) = @_; - my ( $fileDate, $fileTime ); - my ( $unittype, $unit ); + my ( $fileDate, $fileTime ); + my ( $unittype, $unit ); my ( $filenamecsv, $path, $suffix ) = fileparse( $filename, qr/\.[^.]*/ ); - if ( $filenamecsv =~ m/^G201_ID\d\d\d\d_DT\d\d\d\d_\d*$/i ) { # GD201 - my @strings = $filenamecsv =~ /(.{1,4})_(.{1,6})_(.{1,6})_(.{1,4})(.{1,2})(.{1,2})(.{1,2})(.{1,2})(.{1,2}).*/; + if ( $filenamecsv =~ m/^G201_ID\d\d\d\d_DT\d\d\d\d_\d*$/i ) { # G201 + my @strings = $filenamecsv =~ +/(.{1,4})_(.{1,6})_(.{1,6})_(.{1,4})(.{1,2})(.{1,2})(.{1,2})(.{1,2})(.{1,2}).*/; $unittype = $strings[0]; - $unit = $strings[1]; - $fileDate = $strings[3] . "/" . $strings[4] . "/" . $strings[5];; + $unit = $strings[1]; + $fileDate = $strings[3] . "/" . $strings[4] . "/" . $strings[5]; $fileTime = $strings[6] . ":" . $strings[7] . ":" . $strings[8]; - } else { + } + elsif ( $filenamecsv =~ m/^D2W_ID\d\d\d\d_DT\d\d\d\d$/i ) { + my @strings = $filenamecsv =~ /(.{1,3})_(.{1,6})_(.{1,6}).*/; + $unittype = $strings[0]; + $unit = $strings[1]; + } + else { open FILE, $filename - or warn getTimeStamp("log") . " >> Error: opening input file $filename\n"; + or warn getTimeStamp("log") + . " >> Error: opening input file $filename\n"; ( $fileDate, $fileTime ) = split( /\s/, ); ( $unittype, $unit ) = split( /\s/, uc ); $unit =~ s/;+$//; @@ -72,10 +80,12 @@ while ( my $line = $tail->GetLine() ) { $path = "/home/" . $truser . "/"; $trfile = "/home/" . $truser . $trfile; - if ( ( ( uc $suffix ) eq ( uc $ext ) ) - and - ( $filename =~ m/^(\d\d_\d\d\d\d_|)(DT\d\d\d\d|LOC\d*|GD\d*)$/i - or $filename =~ m/^G201_ID\d\d\d\d_DT\d\d\d\d_\d*$/i) ) + if ( + ( ( uc $suffix ) eq ( uc $ext ) ) + and ( $filename =~ m/^(\d\d_\d\d\d\d_|)(DT\d\d\d\d|LOC\d*|GD\d*)$/i + or $filename =~ m/^G201_ID\d\d\d\d_DT\d\d\d\d_\d*$/i + or $filename =~ m/^D2W_ID\d\d\d\d_DT\d\d\d\d$/i ) + ) { my $unit = getUnitName($trfile); print getTimeStamp("log") . " >> Unit $unit - Filename $trfile\n"; @@ -106,10 +116,16 @@ while ( my $line = $tail->GetLine() ) { chmod 0664, $dest; my @fname = ($dest); chown $uid, $gid, @fname; - if ( ($filename =~ m/^(\d\d_\d\d\d\d_|)(DT\d\d\d\d|LOC\d.*|GD\d*)$/i - or $filename =~ m/^G201_ID\d\d\d\d_DT\d\d\d\d_\d*$/i) + if ( + ( + $filename =~ + m/^(\d\d_\d\d\d\d_|)(DT\d\d\d\d|LOC\d.*|GD\d*)$/i + or $filename =~ m/^G201_ID\d\d\d\d_DT\d\d\d\d_\d*$/i + or $filename =~ m/^D2W_ID\d\d\d\d_DT\d\d\d\d$/i + ) and ( $unit ne 'ID9999' ) - and ( $truser ne 'corra' ) ) + and ( $truser ne 'corra' ) + ) { print getTimeStamp("log") . " >> Sender user $truser: load data into DB.\n";