Changeset 10154


Ignore:
Timestamp:
2005-06-23T11:15:08+12:00 (19 years ago)
Author:
davidb
Message:

Elimination of expinfo package, and its use in docsave.

Reasoning: expinfo package was added in when export.pl was devised. expinfo i
in fact is no different to the original arcinfo (that it was based on).
Having the two classes used in docsave therefore clutters things somewhat
with no real benefit. docsave code collapes back to use only arcinfo.

File:
1 edited

Legend:

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

    r9954 r10154  
    3535
    3636use arcinfo;
    37 use expinfo;
    3837use docproc;
    3938use util;
     
    4342    @docsave::ISA = ('docproc');
    4443}
     44
     45
     46sub calcoutputdir
     47{
     48    my ($service,$collectdir,$outhandle) = @_;
     49
     50    my $output_dir = undef;
     51
     52    if (($service eq "import") || ($service eq "unbuild")) {
     53    $output_dir = &util::filename_cat ($collectdir, "archives");
     54    }
     55    elsif ($service eq "export") {
     56    $output_dir = &util::filename_cat($collectdir, "export");
     57    }
     58    else {
     59    print $outhandle "docsave::calcoutputdir did not recognise service ";
     60    print $outhandle " '$service'. No output directory set.\n";
     61    }
     62
     63    return $output_dir;
     64}
     65
    4566
    4667sub new {
     
    5778
    5879    $self->{'collection'} = $collection;
    59     if (($service eq "import") || ($service eq "unbuild")) {
    60     $self->{'archive_info'} = $info;
    61     # set a default for the archive directory
    62     $self->{'archive_dir'} = &util::filename_cat ($collectdir, "archives");
    63     } elsif ($service eq "export"){
    64     $self->{'export_info'} = $info;
    65     # set a default for the export directory
    66     $self->{'export_dir'} = &util::filename_cat($collectdir, "export");
    67     } else {
    68     print $outhandle "docsave::new Unrecongised service: $service\n";
    69     return;
    70     }
     80
     81    $self->{'output_info'} = $info;
     82    $self->{'output_dir'} = undef;
    7183
    7284    $self->{'verbosity'} = $verbosity;
     
    8597}
    8698
    87 sub setarchivedir {
    88     my $self = shift (@_);
    89     my ($archive_dir) = @_;
    90    
    91     &util::mk_all_dir ($archive_dir) unless -e $archive_dir;
    92     $self->{'archive_dir'} = $archive_dir;
    93 }
    94 
    95 sub setexportdir {
    96     my $self = shift (@_);
    97     my ($export_dir) = @_;
    98  
    99     &util::mk_all_dir ($export_dir) unless -e $export_dir;
    100     $self->{'export_dir'} = $export_dir;
    101 }
    102 
    103 sub getoutputdir {
    104     my $self = shift (@_);
    105 
    106     my $output_dir = undef;
    107 
    108     my $service = $self->{'service'};
    109 
    110     if (($service eq "import") || ($service eq "unbuild")) {
    111     $output_dir = $self->{'archive_dir'};
    112     }
    113     elsif ($service eq "export") {
    114     $output_dir = $self->{'export_dir'};
    115     }
    116     else {
    117     my $outhandle = $self->{'outhandle'};
    118 
    119     print $outhandle "docsave::getoutputdir did not recognise service ";
    120     print $outhandle " '$service'. No output directory set.\n";
    121     }
    122 
    123     return $output_dir;
    124 }
    125 
    126 
    127 sub getoutputinfo {
    128     my $self = shift (@_);
    129 
    130     my $output_info = undef;
    131 
    132     my $service = $self->{'service'};
    133 
    134     if (($service eq "import") || ($service eq "unbuild")) {
    135     $output_info = $self->{'archive_info'};
    136     }
    137     elsif ($service eq "export") {
    138     $output_info = $self->{'export_info'};
    139     }
    140     else {
    141     my $outhandle = $self->{'outhandle'};
    142 
    143     print $outhandle "docsave::getoutputinfo did not recognise service ";
    144     print $outhandle " '$service'. No output information available.\n";
    145     }
    146 
    147     return $output_info;
     99
     100
     101sub setoutputdir
     102{
     103    my $self = shift @_;
     104    my ($output_dir) = @_;
     105
     106    &util::mk_all_dir ($output_dir) unless -e $output_dir;
     107
     108    $self->{'output_dir'} = $output_dir;
     109}
     110
     111sub getoutputinfo
     112{
     113    my $self = shift (@_);
     114
     115    return $self->{'output_info'};
     116}
     117
     118sub getoutputdir
     119{
     120    my $self = shift (@_);
     121
     122    return $self->{'output_dir'};
    148123}
    149124
     
    352327    }
    353328
    354     # store reference in the relevant info object (archive_info,export_info,...)
    355     $output_info->add_info($OID, $short_doc_file, $metadata);
     329    # store reference in the output_info
     330    $output_info->add_info($OID, $short_doc_file, undef, $metadata);
    356331}
    357332
     
    383358    if ($open_new_file) {
    384359        # only if opening new file
     360        my $output_dir = $self->getoutputdir();
    385361        my $doc_file
    386         = &util::filename_cat ($self->{'archive_dir'}, $doc_dir, "doc.xml");
     362        = &util::filename_cat ($output_dir, $doc_dir, "doc.xml");
    387363        my $short_doc_file = &util::filename_cat ($doc_dir, "doc.xml");
    388364       
     
    593569    }
    594570
    595     # store reference in relevant info object (archive_info,export_info,...)
     571    # store reference in output_info
    596572    my $output_info = $self->getoutputinfo();
    597573    return 0 if (!defined $output_info);
    598     $output_info->add_info($OID, $short_doc_file);
     574    $output_info->add_info($OID, $short_doc_file, undef, undef);
    599575
    600576    return 1;
Note: See TracChangeset for help on using the changeset viewer.