I have to create shapefiles from SWISS Interlis data for over 1000 SWISS Interlis files.
How can I pass through all SWISS Interlis files with help of Python code even if I get from some SWISS Interlis files error message like this:
Traceback (most recent call last):
File "C:\\temp\\AV\\FMEWorkspaceAusfuehren.py", line 73, in <module>
runner.runWithParameters(workspace, parameters)
FMEException: FMEException: 1: Failure running workspace 'C:\\temp\\PyTEST\\ITF2Shape.fmw'
My python code see below :
import os
import os.path
import sys
sys.path.append("C:\\\\Program Files (x86)\\\\FME\\\\fmeobjects\\\\python27")
import fmeobjects
# Source path
source = 'C:\\\\temp\\\\PyTEST'
# Change to source path
os.chdir(source)
print "source = " + source
# Init FMEWorkspaceRunner Class
runner = fmeobjects.FMEWorkspaceRunner()
# FME workspace path
workspace = 'C:\\\\temp\\\\PyTEST\\\\ITF2Shape.fmw'
# List SWISS Interlis files
ListITF = []
for daten in os.listdir(os.getcwd()):
if daten.endswith('.itf') or daten.endswith('.ITF'):
ListITF.append(daten)
print "ITF file " + daten + " listed."
print "ITF-Files listed."
# FME Workspace prepare
for itfOrdner in ListITF:
#SWISS Interlis basename
count = 0
newSourceDataset = ListITF[count]
newDestDataset = os.path.splitext(os.path.basename(itfOrdner))[0]
# FME workspace parameters
parameters = {}
parameters['SourceDataset_ch.ehi.fme.Main'] = source + '\\\\' + str(newSourceDataset)
parameters['DestDataset_SHAPE'] = source + '\\\\' + str(newDestDataset)
print "SourceParameters: " + parameters['SourceDataset_ch.ehi.fme.Main']
print "DestDataset: " + parameters['DestDataset_SHAPE']
count = count + 1
# Start FME Workspace
print "Workspace started."
runner.runWithParameters(workspace, parameters)
print "Workspace finished."
# FME process rid
runner = None
Thanks Zoran