Changeset 15153 for gsdl/trunk/bin
- Timestamp:
- 2008-03-29T18:03:46+13:00 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
gsdl/trunk/bin/script/replace_srcdoc_with_html.pl
r15121 r15153 58 58 my $hashParsingResult = {}; 59 59 60 60 61 # parse the options 61 62 my $intArgLeftinAfterParsing = parse2::parse(\@ARGV,$arguments,$hashParsingResult,"allow_extra_options"); … … 99 100 100 101 &PrintUsage::print_txt_usage($options, "{srcreplace.params}"); 101 print STDERR "You need to specify a filename ";102 print STDERR "You need to specify a filename\n"; 102 103 die "\n"; 103 104 } … … 140 141 # or windows_scripting did the conversion of the Word doc to html. 141 142 my $output_filename = $plugobj->tmp_area_convert_file("html", $filename); 142 # my $output_filename = $plugobj->tmp_area_convert_file($output_ext, $input_filename, $textref); 143 144 if(!defined $output_filename || (!-e $output_filename)) { # if no output html file was created, then error message 143 144 145 # if something went wrong, then tmp_area_convert_file returns "", but can also check 146 # for whether the output file exists or not 147 if(!-e $output_filename || $output_filename eq "") { 148 # if no output html file was created, then die so that GLI displays error message 145 149 print STDERR "***replace_srcdoc_with_html.pl: no output file created for $filename ***\n"; 146 150 die "No html file created for $filename. Replacement did not take place\n"; # Program NEEDS to die here, … … 155 159 my ($tmp_name, $tmp_dir, $ext) = &File::Basename::fileparse($output_filename, "\\.[^\\.]+\$"); 156 160 157 if($import_dir ne $tmp_dir) { # output file is not in the same folder 158 my $assoc_folder = &util::filename_cat($tmp_dir, $tmp_name."_files"); 159 160 # use util to move it all to the import directory where the original file is located 161 #&util::mv($output_filename, &util::filename_cat($import_dir, $tmp_name.$ext)); # doesn't work 162 #&util::mv($output_filename, $import_dir); # doesn't work 163 &util::cp($output_filename, $import_dir); 161 # the name of the folder of associated files (which may or may not exist) in the tmp dir 162 my $assoc_folder = &util::filename_cat($tmp_dir, $tmp_name."_files"); 163 164 # Need to check for naming collisions: in case there is already a file or folder 165 # in the import directory by the name of those we want to move there from the tmp folder 166 # First need to work out the full paths to any assoc folder if it were copied into the 167 # import directory, and the main html file if it were copied into the import folder: 168 my $new_assoc_folder = &util::filename_cat($import_dir, $tmp_name."_files"); 169 my $new_file = &util::filename_cat($import_dir, $tmp_name.$ext); 170 171 # If there is an image folder, any naming collisions now would mean that the links of 172 # the html file to the image folder would break if we changed the assoc_folder's name. 173 # Therefore, in such a case this process dies after deleting both the file and assoc_folder. 174 if(-e $assoc_folder && -e $new_assoc_folder) { 175 # so an associated folder was generated, AND a folder by that name already exists 176 # in the import folder where we want to copy the generated folder to. 164 177 &util::rm($output_filename); 165 if(defined $assoc_folder) { # move any associated folders too 166 print STDERR "****Folder for associated files is $assoc_folder\n"; 167 #&util::mv($assoc_folder, $import_dir); # doesn't work for me 168 &util::cp_r($assoc_folder, $import_dir); 169 &util::rm_r($assoc_folder); 170 } 171 } # else output file was created in the same folder as the input file 172 # this happens for txt files processed by TEXTPlug 173 # in this case, there will be no image folder AND no moving of output html file is necessary 178 &util::rm_r($assoc_folder); # we know directory exists, so remove dir 179 die "Image folder $new_assoc_folder already exists.\nDeleting generated file and folder, else links to images will break.\n"; 180 } 181 # Finally, check that no file already exists with the same name as the generated stand-alone 182 # file. Have to do this *after* checking for name collisions with any assoc_folder, because 183 # that also tries to remove any output files. 184 if(-e $new_file) { # a file by that name already exists, delete the generated file 185 &util::rm($output_filename); 186 die "File $new_file already exists. Deleting generated file.\n"; 187 } 188 189 # Now we know we have no file name collisions 190 # use util to move it all to the import directory where the original file is located 191 #&util::mv($output_filename, &util::filename_cat($import_dir, $tmp_name.$ext)); # doesn't work 192 #&util::mv($output_filename, $import_dir); # doesn't work 193 &util::cp($output_filename, $import_dir); 194 &util::rm($output_filename); 195 if(-e $assoc_folder) { # move any associated folders too 196 #print STDERR "****Folder for associated files is $assoc_folder\n"; 197 #&util::mv($assoc_folder, $import_dir); # doesn't work for me 198 &util::cp_r($assoc_folder, $import_dir); 199 &util::rm_r($assoc_folder); 200 } 174 201 175 202 # Now we can remove the source doc permanently (there are no assocdirs for source doc)
Note:
See TracChangeset
for help on using the changeset viewer.