- Timestamp:
- 2017-06-29T16:27:37+12:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone2/perllib/plugins/UnknownConverterPlugin.pm
r31760 r31761 45 45 # At present, a file or folder of files is assumed. 46 46 # Need to look in there for files with extension process_ext. 47 # Support html_multi as output? Then a folder of html files is generated per document? OR Flag that indicates whether an html file + associated folder (such as of images) gets generated. And name of assoc folder. Such output gets generated for instance when a doc file is replaced by its html version. 47 # Do we also need a html_multi option to convert_to? Support html_multi as output? 48 # Then a folder of html files is generated per document? 49 # OR Flag that indicates whether an html file + associated folder (such as of images) gets generated. And name of assoc folder. Such output gets generated for instance when a doc file is replaced by its html version. 48 50 49 51 sub BEGIN { … … 75 77 'reqd' => "yes", 76 78 'list' => $convert_to_list, 77 'deft' => "text" }, 78 { 'name' => "output_file_or_dir_name", 79 'desc' => "{UnknownConverterPlugin.output_file_or_dir_name}", 80 'type' => "string", 81 'reqd' => "no", 82 'deft' => "" } ]; 79 'deft' => "text" } ]; 83 80 84 81 my $options = { 'name' => "UnknownConverterPlugin", … … 292 289 } else { 293 290 $cmd =~ s@OUTPUT@\"$output_filename\"@g; 294 } 295 296 print STDERR "@@@@ $plugin_name: executing conversion cmd \n|$cmd|\n"; 297 print STDERR " on infile |$input_filename|\n"; 298 print STDERR " to produce expected $output_filename\n"; 291 } 292 293 # Some debugging 294 if ($self->{'verbosity'} > 2) { 295 print STDERR "$plugin_name: executing conversion cmd \n|$cmd|\n"; 296 print STDERR " on infile |$input_filename|\n"; 297 print STDERR " to produce expected $output_filename\n"; 298 } 299 300 # Run the command at last 299 301 my $status = system($cmd); 300 302 … … 326 328 # if multiple images were generated by running the conversion 327 329 if ($self->{'convert_to'} =~ /^pagedimg/) { 328 my $item_filename = $self->generate_item_file($output_filename); #my $item_filename = $self->generate_item_file($output_file_or_dir);330 my $item_filename = $self->generate_item_file($output_filename); 329 331 330 332 if (!-e $item_filename) { … … 338 340 $self->{'output_filename'} = $output_filename; 339 341 340 return $output_filename; #$output_file_or_dir;342 return $output_filename; 341 343 } 342 344 … … 463 465 } 464 466 465 # do we also need a html_multi option to convert_to? 466 # move the following, copied from PPT Plugin, into parent ConvertBinaryPlugin, as it's now shared 467 sub generate_item_file { 468 my $self = shift(@_); 469 my ($input_filename) = @_; 470 my $outhandle = $self->{'outhandle'}; 471 my ($tailname, $dirname, $suffix) 472 = &File::Basename::fileparse($input_filename, "\\.[^\\.]+\$"); 473 474 my $plugin_name = $self->{'plugin_type'}; # inherited from BaseImporter 475 476 # find all the files in the directory 477 if (!opendir (DIR, $dirname)) { 478 print $outhandle "$plugin_name: Couldn't read directory $dirname\n"; 479 return $input_filename; 480 } 481 482 my @dir = readdir (DIR); 483 closedir (DIR); 484 485 # start the item file 486 my $itemfile_name = &util::filename_cat($dirname, "$tailname.item"); 487 488 # encoding specification???? 489 if (!open (ITEMFILE, ">$itemfile_name")) { 490 print $outhandle "$plugin_name: Couldn't open $itemfile_name for writing\n"; 491 } 492 print ITEMFILE "<GeneratedBy>$plugin_name\n"; 493 # print the first page 494 my @sorted_dir = sort alphanum_sort @dir; 495 for (my $i = 0; $i < scalar(@sorted_dir); $i++) { 496 my $file = $sorted_dir[$i]; 497 if ($file =~ /^img(\d+)\.jpg$/) { 498 my $num = $1; 499 $self->tidy_up_html(&util::filename_cat($dirname, "text$num.html")); 500 print ITEMFILE "$num:img$num.jpg:text$num.html:\n"; 501 } 502 } 503 close ITEMFILE; 504 return $itemfile_name; 505 506 } 467 468 1;
Note:
See TracChangeset
for help on using the changeset viewer.