Changeset 12333


Ignore:
Timestamp:
2006-07-28T15:00:23+12:00 (18 years ago)
Author:
shaoqun
Message:

now it uses plugout

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl/bin/script/export.pl

    r11746 r12333  
    3838    unshift (@INC, "$ENV{'GSDLHOME'}/perllib/cpan");
    3939    unshift (@INC, "$ENV{'GSDLHOME'}/perllib/plugins");
     40    unshift (@INC, "$ENV{'GSDLHOME'}/perllib/plugouts");
    4041    unshift (@INC, "$ENV{'GSDLHOME'}/perllib/classify");
    4142}
     
    4849use colcfg;
    4950use plugin;
     51use plugout;
    5052use docprint;
    5153use util;
     
    6870        'desc' => "{export.saveas.DSpace}" },
    6971      { 'name' => "METS",
    70         'desc' => "{export.saveas.METS}" } ];
     72        'desc' => "{export.saveas.METS}"},
     73      { 'name' => "GA",
     74        'desc' => "{export.saveas.GA}"},
     75      { 'name' => "MARCXML",
     76        'desc' => "{export.saveas.MARCXML}"}
     77     ];
    7178
    7279
     
    96103    'type' => "string",
    97104    'reqd' => "no",
    98         'deft' => "greenstone" },
     105       'deft' => "greenstone" },
    99106      { 'name' => "exportdir",
    100107    'desc' => "{export.exportdir}",
     
    161168    'reqd' => "no",
    162169        'hiddengli' => "yes" },
     170      { 'name' => "xsltfile",
     171    'desc' => "{BasPlugout.xslt_file}",
     172    'type' => "string",
     173    'reqd' => "no",
     174        'hiddengli' => "yes" },
     175      { 'name' => "xslt_txt",
     176    'desc' => "{METSPlugout.xslt_txt}",
     177    'type' => "string",
     178    'reqd' => "no",
     179        'hiddengli' => "no" },
     180      { 'name' => "xslt_mets",
     181    'desc' => "{METSPlugout.xslt_mets}",
     182    'type' => "string",
     183    'reqd' => "no",
     184        'hiddengli' => "no" },
     185      { 'name' => "group_marc",
     186    'desc' => "{MARCXMLPlugout.group}",
     187    'type' => "flag",
     188    'reqd' => "no",
     189        'hiddengli' => "no" },
    163190      { 'name' => "verbosity",
    164191    'desc' => "{export.verbosity}",
     
    200227    my ($language, $verbosity, $importdir, $exportdir, $keepold, $listall,
    201228    $removeold, $saveas, $saveas_version, $debug,
    202     $maxdocs, $statsfile, $out, $faillog, $collectdir, $gli);
     229    $maxdocs, $statsfile, $xsltfile, $out, $faillog, $collectdir, $gli,$xslt_mets,$xslt_txt,$group_marc);
    203230    my $xml = 0;
    204231   
     
    409436        if ($saveas eq "DSpace"){
    410437            $export_info_filename = &util::filename_cat ($exportdir, "contents");
    411         } elsif ($saveas eq "METS") {
     438        } elsif ($saveas eq "METS" || $saveas eq "GA" || $saveas eq "MARC" ) {
    412439            $export_info_filename = &util::filename_cat ($exportdir, "export.inf");
    413440        }
     
    415442        $export_info = new arcinfo();
    416443        $export_info -> load_info ($export_info_filename); 
     444                   
     445                if ($saveas !~ /^(GA|METS|DSpace|MARCXML)$/) {
     446            if (defined $collectcfg->{'plugout'} && $collectcfg->{'plugout'}[0] =~ /^(GAPlugout|METSPlugout)$/) {
     447            $saveas = $collectcfg->{'plugout'}[0];
     448            } else {
     449            $saveas ="GAPlugout";
     450            }
     451        }
     452
     453                   
     454            ####Use Plugout####
     455        my ($plugout_name);
     456        if ($saveas !~ /^(GA|METS|DSpace|MARCXML)Plugout$/  ){     
     457            $plugout_name = $saveas."Plugout";
     458        }
     459        else{
     460            $plugout_name = $saveas;
     461        }
     462             
     463          my $opts=[];
     464
     465             
     466          push @$opts,("-output_info",$export_info) if (defined $export_info);
     467
     468            push @$opts,("-verbosity",$verbosity) if (defined $verbosity);
    417469       
    418         $processor = new docsave ($collection, $export_info, $verbosity, $gzip, $groupsize, $out, $service, $saveas);
     470        push @$opts,("-gzip_output",$gzip) if (defined $gzip);
     471        push @$opts,("-group_size",$groupsize) if (defined $groupsize);
     472        push @$opts,("-output_handle",$out) if (defined $out);
     473
     474                push @$opts,("-xslt_file",$xsltfile) if (defined $xsltfile);
     475                push @$opts,("-group") if ($group_marc && $plugout_name =~ /^MARCXMLPlugout$/);
     476        push @$opts,("-saveas_version",$saveas_version) if (defined $saveas_version && $plugout_name =~ /^METSPlugout$/);
     477                push @$opts,("-xslt_mets",$xslt_mets) if (defined $xslt_mets && $plugout_name =~ /^METSPlugout$/);
     478                push @$opts,("-xslt_txt",$xslt_txt) if (defined $xslt_txt && $plugout_name =~ /^METSPlugout$/);
     479                       
     480                                           
     481            $processor = &plugout::load_plugout($plugout_name,$opts);   
     482
     483        #$processor = new docsave ($collection, $export_info, $verbosity, $gzip, $groupsize, $out, $service, $saveas, $xsltfile);
    419484       
    420485        $processor->setoutputdir ($exportdir);
     
    422487        $processor->set_sortmeta ($sortmeta) if defined $sortmeta;
    423488        $processor->set_OIDtype ($OIDtype);
    424         $processor->set_saveas ($saveas);
    425         $processor->set_saveas_version ($saveas_version);
     489        #$processor->set_saveas ($saveas);
     490        #$processor->set_saveas_version ($saveas_version);
    426491        } else {
    427492        $processor = new docprint ();
     
    440505        if (!$debug) {
    441506        $processor->close_file_output() if $groupsize > 1;
     507                $processor->close_group_output() if $processor->is_group();
    442508        if ($saveas eq "METS") {
    443509            $export_info->save_info($export_info_filename);
Note: See TracChangeset for help on using the changeset viewer.