I have a SystemCaller that simply deletes a file. I would assume if the deletion is successful, it would give code 0, otherwise 1. However, it always gives 0 whether the deletion is successful or not (for example, I keep the file open before hand to cause the deletion to fail). Any workaround? I could use PythonCaller to do the deletion and generate an exit code, but would be nice just do this simple operation in the SystemCaller.
Solved
why SystemCaller does not give correct exit code?
Best answer by helmoet
Try PythonCaller using the follwing script:
import fme
import fmeobjects
import os
def killFile(feature):
try:
os.remove("e:\\data\\temp\\test.txt")
stat = 0
except WindowsError:
stat = 1
feature.setAttribute ('stat', stat)
pass
When called, after execution the feature would contain an attribute stat having value of 0 (succeed) or 1 (failed) depending if the delete operation deleted the file.

This post is closed to further activity.
It may be an old question, an answered question, an implemented idea, or a notification-only post.
Please check post dates before relying on any information in a question or answer.
For follow-up or related questions, please post a new question or idea.
If there is a genuine update to be made, please contact us and request that the post is reopened.
It may be an old question, an answered question, an implemented idea, or a notification-only post.
Please check post dates before relying on any information in a question or answer.
For follow-up or related questions, please post a new question or idea.
If there is a genuine update to be made, please contact us and request that the post is reopened.


