gnucash/libgnucash/quotes/gnc-fq-check.in
2017-12-23 14:07:25 +01:00

104 lines
2.7 KiB
Plaintext
Executable File

#!@PERL@ -w
######################################################################
### gnc-fq-check - check for the presence of Finance::Quote
### From gnc-fq-helper.
### Copyright 2001 Rob Browning <rlb@cs.utexas.edu>
###
### This program is free software; you can redistribute it and/or
### modify it under the terms of the GNU General Public License as
### published by the Free Software Foundation; either version 2 of
### the License, or (at your option) any later version.
###
### This program is distributed in the hope that it will be useful,
### but WITHOUT ANY WARRANTY; without even the implied warranty of
### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
### GNU General Public License for more details.
###
### You should have received a copy of the GNU General Public License
### along with this program# if not, contact:
###
### Free Software Foundation Voice: +1-617-542-5942
### 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652
### Boston, MA 02110-1301, USA gnu@gnu.org
######################################################################
use strict;
use English;
use FileHandle;
=head1 NAME
gnc-fq-check - check for the presence of Finance::Quote
From gnc-fq-helper
=head1 SYNOPSIS
gnc-fq-check
=head1 DESCRIPTION
Input: <none>
Output (on standard output, one output form per input line):
A list of quote sources supported by Finance::Quote, or the single
term missing-lib if finance quote could not be executed.
Exit status
0 - success
non-zero - failure
=cut
sub check_modules {
my @modules = qw(Finance::Quote);
my @missing;
foreach my $mod (@modules) {
if (eval "require $mod") {
$mod->import();
}
else {
push (@missing, $mod);
}
}
return unless @missing;
print STDERR "\n";
print STDERR "You need to install the following Perl modules:\n";
foreach my $mod (@missing) {
print STDERR " ".$mod."\n";
}
print STDERR "\n";
print STDERR "Use your system's package manager to install them,\n";
print STDERR "or run 'gnc-fq-update' as root.\n";
print "missing-lib\n";
exit 1;
}
#---------------------------------------------------------------------------
# Runtime.
# Check for and load non-standard modules
check_modules ();
# Create a stockquote object.
my $quoter = Finance::Quote->new();
my $prgnam = "gnc-fq-check";
my @qsources;
my @sources = $quoter->sources();
foreach my $source (@sources) {
push(@qsources, "\"$source\"");
}
printf "(\"%s\" %s)\n", $Finance::Quote::VERSION, join(" ", sort(@qsources));
## Local Variables:
## mode: perl
## End: