mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
It is split into - /libgnucash (for the non-gui bits) - /gnucash (for the gui) - /common (misc source files used by both) - /bindings (currently only holds python bindings) This is the first step in restructuring the code. It will need much more fine tuning later on.
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:
|