Skip to main content

I am writing a shutdown script to logg a workbench result to a postgres database.

To log the output location of a gpkg file I am fetching a public parameter like so fme.macroValuese'dest_path']

But i get some weird formatting where backslash etc ar written as verbose text instead of the actual path? How can I get the actual path?

 

C:<backslash>Users<backslash>User<backslash>Documents<backslash>FME_proj<backslash>20230913_FME<backslash>WIP<solidus>output<backslash>myoutput.gpkg

 

Try the following:

fmeobjects.FMESession().decodeFromFMEParsableText(fme.macroValuese'dest_path'])

See also the documentation: https://docs.safe.com/fme/html/fmepython/api/fmeobjects/_utilities/fmeobjects.FMESession.decodeFromFMEParsableText.html#fmeobjects.FMESession.decodeFromFMEParsableText


I tried but I got this error:

ERROR : An attempt was made to create a new FME Objects session while a translation is in the process of shutting down, possibly from a Python shutdown script. This is not a supportable operation

It works if use it in a python caller. 

I declared a global variable in the python caller that i used in the shut down script. A bit redundant and messy, but maybe thats the only way?


I tried but I got this error:

ERROR : An attempt was made to create a new FME Objects session while a translation is in the process of shutting down, possibly from a Python shutdown script. This is not a supportable operation

It works if use it in a python caller. 

I declared a global variable in the python caller that i used in the shut down script. A bit redundant and messy, but maybe thats the only way?

Looks like FME has become stricter about "abusing" the use of the fmeobjects module in the startup/shutdown script. I guess the best solution would be for Safe to move these helper functions out of the FMESession class and into a general utility class, but until then your workaround is probably necessary.


Reply