Changeset 31761
- Timestamp:
- 2017-06-29T16:27:37+12:00 (6 years ago)
- Location:
- main/trunk/greenstone2/perllib/plugins
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone2/perllib/plugins/ConvertBinaryFile.pm
r28381 r31761 496 496 497 497 } 498 499 # This sub is shared across PowerPointPlugin and UnknownConverterPlugin, 500 # so it's been copied into here from the former. 501 sub generate_item_file { 502 my $self = shift(@_); 503 my ($input_filename) = @_; 504 my $outhandle = $self->{'outhandle'}; 505 my ($tailname, $dirname, $suffix) 506 = &File::Basename::fileparse($input_filename, "\\.[^\\.]+\$"); 507 508 my $plugin_name = $self->{'plugin_type'}; # inherited from BaseImporter 509 510 # find all the files in the directory 511 if (!opendir (DIR, $dirname)) { 512 print $outhandle "$plugin_name: Couldn't read directory $dirname\n"; 513 return $input_filename; 514 } 515 516 my @dir = readdir (DIR); 517 closedir (DIR); 518 519 # start the item file 520 my $itemfile_name = &util::filename_cat($dirname, "$tailname.item"); 521 522 # encoding specification???? 523 if (!open (ITEMFILE, ">$itemfile_name")) { 524 print $outhandle "$plugin_name: Couldn't open $itemfile_name for writing\n"; 525 } 526 print ITEMFILE "<GeneratedBy>$plugin_name\n"; 527 # print the first page 528 my @sorted_dir = sort alphanum_sort @dir; 529 for (my $i = 0; $i < scalar(@sorted_dir); $i++) { 530 my $file = $sorted_dir[$i]; 531 if ($file =~ /^img(\d+)\.jpg$/) { 532 my $num = $1; 533 $self->tidy_up_html(&util::filename_cat($dirname, "text$num.html")); 534 print ITEMFILE "$num:img$num.jpg:text$num.html:\n"; 535 } 536 } 537 close ITEMFILE; 538 return $itemfile_name; 539 540 } 541 498 542 1; 499 543 -
main/trunk/greenstone2/perllib/plugins/PowerPointPlugin.pm
r31742 r31761 398 398 } 399 399 400 sub generate_item_file401 {402 my $self = shift(@_);403 my ($input_filename) = @_;404 my $outhandle = $self->{'outhandle'};405 my ($tailname, $dirname, $suffix)406 = &File::Basename::fileparse($input_filename, "\\.[^\\.]+\$");407 408 my $plugin_name = $self->{'plugin_type'};409 410 # find all the files in the directory411 if (!opendir (DIR, $dirname)) {412 print $outhandle "$plugin_name: Couldn't read directory $dirname\n";413 return $input_filename;414 }415 416 my @dir = readdir (DIR);417 closedir (DIR);418 419 # start the item file420 my $itemfile_name = &util::filename_cat($dirname, "$tailname.item");421 422 # encoding specification????423 if (!open (ITEMFILE, ">$itemfile_name")) {424 print $outhandle "$plugin_name: Couldn't open $itemfile_name for writing\n";425 }426 print ITEMFILE "<GeneratedBy>$plugin_name\n";427 # print the first page428 my @sorted_dir = sort alphanum_sort @dir;429 for (my $i = 0; $i < scalar(@sorted_dir); $i++) {430 my $file = $sorted_dir[$i];431 if ($file =~ /^img(\d+)\.jpg$/) {432 my $num = $1;433 $self->tidy_up_html(&util::filename_cat($dirname, "text$num.html"));434 print ITEMFILE "$num:img$num.jpg:text$num.html:\n";435 }436 }437 close ITEMFILE;438 return $itemfile_name;439 440 441 }442 443 400 # want to sort img1, img2, ...img10, img11 etc. 444 401 sub alphanum_sort { -
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.