Changeset 7829


Ignore:
Timestamp:
2004-07-30T12:57:57+12:00 (20 years ago)
Author:
jrm21
Message:

use strict and declare all vars (think this fixes a "not a glob reference" bug)

import the gsprintf() function from the gsprintf.pm module, instead of
declaring our own local function.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl/perllib/plugin.pm

    r7363 r7829  
    2626package plugin;
    2727
     28use strict; # to pick up typos and undeclared variables...
     29no strict 'refs'; # ...but allow filehandles to be variables and vice versa
     30
    2831require util;
    29 use gsprintf;
    30 
     32use gsprintf 'gsprintf';
     33
     34# global variables
    3135my $stats = {'num_processed' => 0,
    3236         'num_blocked' => 0,
     
    3640         };
    3741
    38 
    39 sub gsprintf
    40 {
    41     return &gsprintf::gsprintf(@_);
    42 }
    43 
    4442#globaloptions contains any options that should be passed to all plugins
     43my ($verbosity, $outhandle, $failhandle, $globaloptions);
     44
    4545sub load_plugins {
    4646    my ($plugin_list) = shift @_;
     
    4949
    5050    $verbosity = 2 unless defined $verbosity;
    51     $outhandle = STDERR unless defined $outhandle;
    52     $failhandle = STDERR unless defined $failhandle;
     51    $outhandle = 'STDERR' unless defined $outhandle;
     52    $failhandle = 'STDERR' unless defined $failhandle;
    5353
    5454    map { $_ = "\"$_\""; } @$globaloptions;
    5555    my $globals = join (",", @$globaloptions);
    5656
    57     foreach $pluginoptions (@$plugin_list) {
     57    foreach my $pluginoptions (@$plugin_list) {
    5858    my $pluginname = shift @$pluginoptions;
    5959    next unless defined $pluginname;
     
    6666    if (-e $colplugname) { require $colplugname; }
    6767    elsif (-e $mainplugname) { require $mainplugname; }
    68     else { &gsprintf(STDERR, "{plugin.could_not_find_plugin}\n", $pluginname) && die "\n";
    69            # die "ERROR - couldn't find plugin \"$pluginname\"\n";
    70        }
     68    else {
     69        gsprintf($outhandle, "{plugin.could_not_find_plugin}\n",
     70             $pluginname);
     71        die "\n";
     72    }
    7173
    7274    # create a plugin object
     
    117119    # an import.pl or buildcol.pl process
    118120    if (-e &util::filename_cat ($ENV{'GSDLCOLLECTDIR'}, ".kill")) {
    119     &gsprintf($outhandle, "{plugin.kill_file}\n");
     121    gsprintf($outhandle, "{plugin.kill_file}\n");
    120122    die "\n";
    121123    }
     
    129131    # 0 - blocked
    130132    # anything else for successful processing
    131     foreach $plugobj (@$pluginfo) {
     133    foreach my $plugobj (@$pluginfo) {
    132134    $rv = $plugobj->read($pluginfo, $base_dir, $file,
    133135                 $metadata, $processor, $maxdocs, $gli, $aux);
     
    146148    # was recognised but couldn't be processed
    147149    if ($verbosity >= 2) {
    148         &gsprintf($outhandle, "{plugin.no_plugin_could_process}\n", $file);
    149         # print $outhandle "WARNING - no plugin could process $file\n";
     150        gsprintf($outhandle, "{plugin.no_plugin_could_process}\n", $file);
    150151    }
    151152    # tell the GLI that it was not processed
     
    153154   
    154155    $file =~ s/.*?([^\\\/]+)$/$1/;
    155     &gsprintf($failhandle, "$file: {plugin.no_plugin_could_process_this_file}\n");
    156     # print $failhandle "$file: no plugin could process this file\n";
     156    gsprintf($failhandle, "$file: {plugin.no_plugin_could_process_this_file}\n");
    157157    $stats->{'num_not_processed'} ++;
    158158    } else {
    159159    # was not recognised
    160160    if ($verbosity >= 2) {
    161         &gsprintf($outhandle, "{plugin.no_plugin_could_recognise}\n", $file);
    162         # print $outhandle "WARNING - no plugin could process $file\n";
     161        gsprintf($outhandle, "{plugin.no_plugin_could_recognise}\n",$file);
    163162    }
    164163    # tell the GLI that it was not processed
     
    166165   
    167166    $file =~ s/.*?([^\\\/]+)$/$1/;
    168     &gsprintf($failhandle, "$file: {plugin.no_plugin_could_recognise_this_file}\n");
    169     # print $failhandle "$file: no plugin could process this file\n";
     167    gsprintf($failhandle, "$file: {plugin.no_plugin_could_recognise_this_file}\n");
    170168    $stats->{'num_not_recognised'} ++;
    171    
    172169    }
    173170
     
    183180    $gli = 0 unless defined $gli;
    184181
    185     foreach $plugobj (@$pluginfo) {
     182    foreach my $plugobj (@$pluginfo) {
    186183    $plugobj->compile_stats($stats);
    187184    }
     
    193190
    194191    if ($total == 1) {
    195     &gsprintf($statshandle, "* {plugin.one_considered}\n");
     192    gsprintf($statshandle, "* {plugin.one_considered}\n");
    196193    } else {
    197     &gsprintf($statshandle, "* {plugin.n_considered}\n", $total);
     194    gsprintf($statshandle, "* {plugin.n_considered}\n", $total);
    198195    }
    199196    if ($stats->{'num_archives'}) {
    200197    if ($stats->{'num_archives'} == 1) {
    201         &gsprintf($statshandle, "   ({plugin.including_archive})\n");
     198        gsprintf($statshandle, "   ({plugin.including_archive})\n");
    202199    }
    203200    else {
    204         &gsprintf($statshandle, "   ({plugin.including_archives})\n", $stats->{'num_archives'});
     201        gsprintf($statshandle, "   ({plugin.including_archives})\n",
     202             $stats->{'num_archives'});
    205203    }
    206204    }
    207205    if ($stats->{'num_processed'} == 1) {
    208     &gsprintf($statshandle, "* {plugin.one_included}\n");
     206    gsprintf($statshandle, "* {plugin.one_included}\n");
    209207    } else {
    210     &gsprintf($statshandle, "* {plugin.n_included}\n", $stats->{'num_processed'});
     208    gsprintf($statshandle, "* {plugin.n_included}\n", $stats->{'num_processed'});
    211209    }
    212210    if ($stats->{'num_not_recognised'}) {
    213211    if ($stats->{'num_not_recognised'} == 1) {
    214         &gsprintf($statshandle, "* {plugin.one_unrecognised}\n");
     212        gsprintf($statshandle, "* {plugin.one_unrecognised}\n");
    215213    } else {
    216         &gsprintf($statshandle, "* {plugin.n_unrecognised}\n", $stats->{'num_not_recognised'});
     214        gsprintf($statshandle, "* {plugin.n_unrecognised}\n",
     215             $stats->{'num_not_recognised'});
    217216    }
    218217
     
    220219    if ($stats->{'num_not_processed'}) {
    221220    if ($stats->{'num_not_processed'} == 1) {
    222         &gsprintf($statshandle, "* {plugin.one_rejected}\n");
     221        gsprintf($statshandle, "* {plugin.one_rejected}\n");
    223222    } else {
    224         &gsprintf($statshandle, "* {plugin.n_rejected}\n", $stats->{'num_not_processed'});
     223        gsprintf($statshandle, "* {plugin.n_rejected}\n",
     224             $stats->{'num_not_processed'});
    225225    }
    226226    }
    227227    if ($stats->{'num_not_processed'} || $stats->{'num_not_recognised'}) {
    228     &gsprintf($statshandle, " {plugin.see_faillog}\n", $faillog);
     228    gsprintf($statshandle, " {plugin.see_faillog}\n", $faillog);
    229229    }
    230230}
Note: See TracChangeset for help on using the changeset viewer.