mirror of
https://github.com/Gnucash/gnucash.git
synced 2024-12-02 13:39:43 -06:00
104 lines
2.7 KiB
Plaintext
Executable File
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:
|