summaryrefslogtreecommitdiff
path: root/rhimport.pm
diff options
context:
space:
mode:
Diffstat (limited to 'rhimport.pm')
-rw-r--r--rhimport.pm27
1 files changed, 27 insertions, 0 deletions
diff --git a/rhimport.pm b/rhimport.pm
index d44c34b..6e125d2 100644
--- a/rhimport.pm
+++ b/rhimport.pm
@@ -327,4 +327,31 @@ sub delete_file
return 1;
}
+sub pv_add_note
+{
+ my $title = shift;
+ my $text = shift;
+ my @script = @_;
+
+ my ($reader, $writer, $error ) = ( new IO::Handle, new IO::Handle, new IO::Handle );
+ $writer->autoflush(1);
+ local $SIG{CHLD} = 'DEFAULT';
+ my $pid = open3($writer, $reader, $error, @script);
+ binmode($reader, ":utf8");
+ binmode($writer, ":utf8");
+ binmode($error, ":utf8");
+ print $writer $title . "\n" . $text;
+ close $writer;
+ waitpid $pid, 0;
+ if ( $? >> 8 ) {
+ print "\n\nPV: adding note returned non-zero value\n";
+ print "STDERR:\n" . join('', <$error>) . "\n";
+ print "STDOUT:\n" . join('', <$reader>) . "\n";
+ print "Ignoring failed headline import!\n";
+ } else {
+ print join('', <$reader>) . "\n";
+ print join('', <$error>) . "\n";
+ }
+}
+
1;