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:
- Source is the C folder (resized files):
- Filename Include Filter, we only want to scan for jpg files:
- Enable and add ‘On Destination’ 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.
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
Best regards,
Limagito Team