Changeset 2241 for trunk/gsdl/perllib
- Timestamp:
- 2001-04-01T21:19:25+12:00 (23 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gsdl/perllib/plugins/ConvertToPlug.pm
r2086 r2241 94 94 if ($class eq "ConvertToPlug") {$class = shift (@_);} 95 95 my $self; 96 # parsargv::parse might modify the list, so we do this by creating a copy97 # of the argument list.96 # parsargv::parse might modify the list, so we do this by creating a copy 97 # of the argument list. 98 98 my @arglist = @_; 99 my ($plugin_name,$generate_format, $kea_arg) = $class->parse_args(\@_); 99 my ($plugin_name, $generate_format, $kea_arg) = $class->parse_args(\@_); 100 101 if ($class eq "PDFPlug" && $generate_format eq "text" && 102 $ENV{'GSDLOS'} =~ /^windows$/i) { 103 print STDERR "Windows does not support pdf to text. PDFs will be converted to HTML instead\n"; 104 $generate_format = "html"; 105 } 100 106 101 107 if ($generate_format eq "text") … … 135 141 sub tmp_area_convert_file { 136 142 my $self = shift (@_); 137 my ($output_ext, $input_filename, $textref) = @_;143 my ($output_ext, $input_filename, $textref) = @_; 138 144 139 145 my $convert_to = $self->{'convert_to'}; … … 142 148 my $colname = &util::use_collection(); 143 149 my $tmp_dirname 144 = &util::filename_cat($ENV{'GSDLHOME'}, "collect",$colname,"tmp");150 = &util::filename_cat($ENV{'GSDLHOME'}, "collect", $colname, "tmp"); 145 151 &util::mk_dir($tmp_dirname) if (!-e $tmp_dirname); 146 152 147 153 # derive tmp filename from input filename 148 my ($tailname, $dirname,$suffix)149 = File::Basename::fileparse($input_filename,'\.[^\.]+$');154 my ($tailname, $dirname, $suffix) 155 = &File::Basename::fileparse($input_filename, "\\.[^\\.]+\$"); 150 156 151 157 # Remove any white space from filename -- no risk of name collision, and … … 153 159 $tailname =~ s/\s+//g; 154 160 155 my $tmp_filename = &util::filename_cat($tmp_dirname, "$tailname$suffix");156 157 &util::soft_link($input_filename, $tmp_filename);161 my $tmp_filename = &util::filename_cat($tmp_dirname, "$tailname$suffix"); 162 163 &util::soft_link($input_filename, $tmp_filename); 158 164 159 165 my $verbosity = $self->{'verbosity'}; 160 if ($verbosity>0) 161 { 166 if ($verbosity > 0) { 162 167 print STDERR "Converting $tailname$suffix to $convert_to format\n"; 163 168 } … … 166 171 # making sure the converter gives us the appropriate output type 167 172 my $output_type = lc($convert_to); 168 my $cmd = " gsConvert.pl -verbose $verbosity -output $output_type \"$tmp_filename\"";173 my $cmd = "perl -S gsConvert.pl -verbose $verbosity -output $output_type \"$tmp_filename\""; 169 174 $output_type = `$cmd`; 170 171 # Check STDERR here172 175 173 176 chomp $output_type; … … 175 178 print STDERR "Could not convert $tailname$suffix to $convert_to format\n"; 176 179 return ""; 177 ### exit 1;178 180 } 179 181 … … 184 186 $self->{'convert_to_ext'} = $output_type; 185 187 my $output_filename = $tmp_filename; 188 186 189 $output_filename =~ s/$suffix$/.$output_type/; 187 190 … … 197 200 my $colname = &util::use_collection(); 198 201 my $tmp_dirname 199 = &util::filename_cat($ENV{'GSDLHOME'}, "collect",$colname,"tmp");202 = &util::filename_cat($ENV{'GSDLHOME'}, "collect", $colname, "tmp"); 200 203 &util::rm_r($tmp_dirname); 201 204 &util::mk_dir($tmp_dirname); … … 229 232 230 233 my $output_ext = $self->{'convert_to_ext'}; 231 my $conv_filename = $self->tmp_area_convert_file($output_ext,$filename); 234 my $conv_filename = $self->tmp_area_convert_file($output_ext, $filename); 235 232 236 if ("$conv_filename" eq "") {return 0;} # allows continue on errors 233 237 if (! -e "$conv_filename") {return 0;} # allows continue on errors 234 238 $self->{'conv_filename'} = $conv_filename; 235 239 236 # Do encoding stuff240 # Do encoding stuff 237 241 my ($language, $encoding); 238 242 if ($self->{'input_encoding'} eq "auto") { … … 253 257 } 254 258 255 BasPlug::read_file($self,$conv_filename, $encoding, \$text);259 &BasPlug::read_file($self, $conv_filename, $encoding, \$text); 256 260 if (!length ($text)) { 257 261 print $outhandle "$plugin_name: ERROR: $file contains no text\n" if $self->{'verbosity'}; … … 301 305 { 302 306 303 $ret_val = TEXTPlug::process($self,$textref,$pluginfo,304 $tmp_dirname,$tmp_tailname,305 $metadata,$doc_obj);307 $ret_val = &TEXTPlug::process($self, $textref, $pluginfo, 308 $tmp_dirname, $tmp_tailname, 309 $metadata, $doc_obj); 306 310 } 307 311 else 308 312 { 309 $ret_val = HTMLPlug::process($self,$textref,$pluginfo,310 $tmp_dirname,$tmp_tailname,311 $metadata,$doc_obj);313 $ret_val = &HTMLPlug::process($self, $textref, $pluginfo, 314 $tmp_dirname, $tmp_tailname, 315 $metadata, $doc_obj); 312 316 } 313 317 314 318 # associate original file with doc object 315 319 my $cursection = $doc_obj->get_top_section(); 316 my $filename = &util::filename_cat($base_dir, $file);320 my $filename = &util::filename_cat($base_dir, $file); 317 321 $doc_obj->associate_file($filename, "doc.$doc_ext", undef, $cursection); 318 322
Note:
See TracChangeset
for help on using the changeset viewer.