LP#1539088: marc_export prints "Waiting for input" when non-interactive
authorJason Stephenson <jstephenson@mvlc.org>
Thu, 28 Jan 2016 13:55:22 +0000 (08:55 -0500)
committerBen Shum <ben@evergreener.net>
Mon, 1 Feb 2016 06:36:07 +0000 (01:36 -0500)
This commit modifies marc_export to only print "Waiting for input"
when run in an interactive manner.  This suppresses the output when
run from a pipe.

To test this change:

Before the commit is applied both of the following command lines will
output "Waiting for input" to standard error:

$ marc_export --format XML

$ echo <bibid> | marc_export --format XML

Where you replace <bibid> with a bibliographic record entry id from
your database.

After the commit is applied, only the first command line will output
the "Waiting for input" message.

Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Signed-off-by: Ben Shum <ben@evergreener.net>
Open-ILS/src/support-scripts/marc_export.in

index 5b5ff9c..f894e57 100755 (executable)
@@ -34,7 +34,7 @@ Fieldmapper->import(IDL => $config->option_value('xml-idl'));
 # Look for passed in ids:
 my @ids = ();
 if ($config->need_ids()) {
-    print STDERR "Waiting for input\n";
+    print STDERR "Waiting for input\n" if (-t);
     while (my $i = <>) {
         push @ids, $i if ($i =~ /^\s*[0-9]+\s*$/);
     }