Changeset 809 for trunk/gsdl/perllib/plugin.pm
- Timestamp:
- 1999-12-07T10:43:37+13:00 (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gsdl/perllib/plugin.pm
r537 r809 29 29 30 30 sub load_plugins { 31 my ($ collection, $plugin_list) = @_;31 my ($plugin_list) = @_; 32 32 my @plugin_objects = (); 33 33 34 foreach $plugin (@$plugin_list) { 34 foreach $pluginoptions (@$plugin_list) { 35 my $pluginname = shift @$pluginoptions; 36 next unless defined $pluginname; 37 35 38 # find the plugin 36 39 my $colplugname = &util::filename_cat($ENV{'GSDLCOLLECTDIR'},"perllib/plugins", 37 "${plugin }.pm");40 "${pluginname}.pm"); 38 41 my $mainplugname = &util::filename_cat($ENV{'GSDLHOME'},"perllib/plugins", 39 "${plugin }.pm");42 "${pluginname}.pm"); 40 43 if (-e $colplugname) { require $colplugname; } 41 44 elsif (-e $mainplugname) { require $mainplugname; } 42 else { die "ERROR - couldn't find plugin $plugin\n"; }45 else { die "ERROR - couldn't find plugin \"$pluginname\"\n"; } 43 46 44 47 # create a plugin object 45 48 my ($plugobj); 46 eval ("\$plugobj = new $plugin()"); 49 map { $_ = "\"$_\""; } @$pluginoptions; 50 my $options = join (",", @$pluginoptions); 51 eval ("\$plugobj = new \$pluginname($options)"); 47 52 die "$@" if $@; 48 53 49 54 # add this object to the list 50 55 push (@plugin_objects, $plugobj); … … 55 60 56 61 sub read { 57 my ($pluginfo, $base_dir, $file, $metadata, $processor, $maxdocs ) = @_;62 my ($pluginfo, $base_dir, $file, $metadata, $processor, $maxdocs, $aux) = @_; 58 63 64 $maxdocs = -1 unless defined $maxdocs && $maxdocs =~ /\d/; 59 65 my $rv = 0; 60 66 … … 63 69 foreach $plugobj (@$pluginfo) { 64 70 $rv = $plugobj->read($pluginfo, $base_dir, $file, 65 $metadata, $processor, $maxdocs );71 $metadata, $processor, $maxdocs, $aux); 66 72 return $rv if defined $rv; 67 73 }
Note:
See TracChangeset
for help on using the changeset viewer.