Changeset 10154
- Timestamp:
- 2005-06-23T11:15:08+12:00 (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gsdl/perllib/docsave.pm
r9954 r10154 35 35 36 36 use arcinfo; 37 use expinfo;38 37 use docproc; 39 38 use util; … … 43 42 @docsave::ISA = ('docproc'); 44 43 } 44 45 46 sub 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 45 66 46 67 sub new { … … 57 78 58 79 $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; 71 83 72 84 $self->{'verbosity'} = $verbosity; … … 85 97 } 86 98 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 101 sub 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 111 sub getoutputinfo 112 { 113 my $self = shift (@_); 114 115 return $self->{'output_info'}; 116 } 117 118 sub getoutputdir 119 { 120 my $self = shift (@_); 121 122 return $self->{'output_dir'}; 148 123 } 149 124 … … 352 327 } 353 328 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); 356 331 } 357 332 … … 383 358 if ($open_new_file) { 384 359 # only if opening new file 360 my $output_dir = $self->getoutputdir(); 385 361 my $doc_file 386 = &util::filename_cat ($ self->{'archive_dir'}, $doc_dir, "doc.xml");362 = &util::filename_cat ($output_dir, $doc_dir, "doc.xml"); 387 363 my $short_doc_file = &util::filename_cat ($doc_dir, "doc.xml"); 388 364 … … 593 569 } 594 570 595 # store reference in relevant info object (archive_info,export_info,...)571 # store reference in output_info 596 572 my $output_info = $self->getoutputinfo(); 597 573 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); 599 575 600 576 return 1;
Note:
See TracChangeset
for help on using the changeset viewer.