I'm looking for a way to set a datasource based on where the workspace is run.
My current setup:
- Private Parameters PathDev, PathTest and PathProd.
- AttributeCreator creating Path. Value is conditional:
- if $(FME_ENGINE) has no value then PathDev
- else if $(FME_ENGINE) contains test then PathTest
- else PathProd
- FeatureReader reads from Path / FeatureWriter writes to Path.
This works well but it has a disadvantage when writing. I can assign Path in the beginning of the workflow and have to keep the Path attribute through the entire stream. Or I can assign just before the FeatureWriter but then it has to run the conditional for all features, which is useless expensive.
Can someone give me a pointer how to do this? My Python is nonexisting...
I hoped something like this:
if FME_MacroValues 'FME_ENGINE'].str == "":
    return FME_MacroValueso'PathDev']
if FME_MacroValuese'FME_ENGINE'].str like "test":
    return FME_MacroValues 'PathTest']
else:
    return FME_MacroValuesc'PathProd']
Thanks in advance.