new input file
[openface-maja] / p.pl
diff --git a/p.pl b/p.pl
index 3b03016..cdd2990 100755 (executable)
--- a/p.pl
+++ b/p.pl
@@ -4,11 +4,24 @@ use strict;
 use autodie;
 use Data::Dump qw(dump);
 use Text::Unaccent;
+use POSIX qw(strftime);
 
-my $filename = 'Intervali_Openface_novi_rad_Boris_export.txt';
+#my $filename = 'Intervali_Openface_novi_rad_Boris_export.txt';
+my $filename = 'originals_2023-07-09/Intervali_Openface_novi_rad_Boris_export.txt';
 
 my $debug = $ENV{DEBUG} || 0;
 
+# better time format for scp (don't have :)
+my $today = strftime("%Y-%m-%d_%H%M%S", localtime(time()));
+warn "# today $today";
+
+open(my $err_fh, '>', "out.$today.log");
+local $SIG{__WARN__} = sub {
+       print STDERR @_;
+       print $err_fh @_;
+};
+
+
 sub col2nr {
        my @c = @_;
        my $i = 0;
@@ -59,8 +72,14 @@ sub glob_id {
        }
 }
 
-my $nr = scalar(glob('out.*'));
-open(my $skipped_input, '>',"skip.input");
+open(my $skipped_input, '>',"out.$today.skip");
+open(my $out_fh, '>', "out.$today.csv");
+sub out_csv {
+       my @a = @_;
+       print $out_fh join(",", map { m/\s/ ? qq{"$_"} : $_ } @a),"\n";
+}
+
+my @out_header;
 
 while(<$fh>) {
        chomp;
@@ -136,6 +155,15 @@ while(<$fh>) {
                        $h2nr = col2nr @h2;
                        $tell2 = tell($fh2);
                        warn "# h2nr ",dump( $h2nr ) if $debug;
+                       if ( ! @out_header ) {
+                               push @out_header, @cols;
+                               push @out_header, map { $h2[$_] }
+                                       ( $h2nr->{'AU01_r'} .. $h2nr->{'AU45_r'} );
+                               push @out_header, map { $h2[$_] }
+                                       ( $h2nr->{'AU01_c'} .. $h2nr->{'AU45_c'} );
+                               warn "# out_header ",dump( \@out_header );
+                               out_csv @out_header;
+                       }
                        next;
                }
 
@@ -185,7 +213,7 @@ while(<$fh>) {
                        push @add_cols, map { $sum[$_] / $count } ( $h2nr->{'AU01_r'} .. $h2nr->{'AU45_r'} );
                        push @add_cols, map { $sum[$_] }          ( $h2nr->{'AU01_c'} .. $h2nr->{'AU45_c'} );
                        warn "# add_cols = ",dump( \@add_cols ) if $debug;
-                       print join("\t", @v, @add_cols ), "\n";
+                       out_csv @v, @add_cols;
 
                        @sum = ();
                        $count = 0;