File Mover Blog

May 26, 2023

Image and sidecar xml workflow question

Q: We have a new process that backs up and then moves an image file and sidecar xml file into an input directory [folder A] for our automated photo toning software.
The xml file contains instructions for cropping and has the same name as the image file with the exception of their file extensions, for example 230519_511627666.xml and 230519_511627666.jpg.
The photo toning software ingests both the .xml and .jpg and attempts to tone the image, but if the .jpg fails it is output to an error folder [B] without being cropped and toned.
We pick up the errored .jpg from folder B, resize it with other software and drop it to another folder [C].
We need to then move the .jpg from folder C back to input folder A to try it again, but it requires its corresponding .xml file which can be found in the backup folder [D] be dropped alongside it again to process and tone.
Is it possible with a Limagito rule to monitor source folder C and if an image file is found, grab the .xml file of the same name from folder D, then drop them both to folder A?
Hope that makes sense! Thanks, David

A: Yes, should be possible. We’ll prepare a script for this asap.

  • We created the following directory structure for the test of the script:

Image and sidecar xml

  • Source is the C folder (resized files):

Limagito file mover windows as source

  • Filename Include Filter, we only want to scan for jpg files:

limagito file mover filename include filter

  • Enable and add ‘On Destination’ Pascal Script:

limagito file mover pascal script

  • Don’t forget to adjust the Path const values:
var
  tmpFilename: String;
Const
  // Path must end with a \
  ctBackupPath = 'C:\Test\AJC\D\';
  ctDestinationPath = 'C:\Test\AJC\A\';
Begin
  psExitCode:= 0;
  tmpFilename := ChangeFileExt(psFileName, '.xml');
  If FileExists(ctBackupPath + tmpFilename) Then
  Begin
    If psCopyFile(ctBackupPath + tmpFilename, ctDestinationPath + tmpFilename, False) Then
    Begin
       psExitCode:= 1;
       psLogWrite(1, '', 'Copy file success of ' + ctBackupPath + tmpFilename + ' to ' + ctDestinationPath + tmpFilename);
    End
    Else
    Begin
      psLogWrite(1, '', 'Copy file error of ' + ctBackupPath + tmpFilename + ' to ' + ctDestinationPath + tmpFilename);
    End;
  End
  Else
    psLogWrite(1, '', 'Error, xml file does not exist: ' + ctBackupPath + tmpFilename);
End.

limagito file mover pascal script as destination

Feedback user:

  • Thank you, I’ll try this out and let you know if I have any issues with it. Appreciate the quick response!
  • Just wanted to update, this rule and script appears to work great and I have it in place in our production workflow now, thanks again!

#filetransfer #mft #filemanagement

If you need any info  about this ‘Image and sidecar xml workflow question’, please let us know.

Best regards,

Limagito Team

 

By Limagito-Team Image Pascal Script , , Share:
SEARCH