My workspace has a python startup script which calls a REST API and downloads and saves a zipped file geodatabase in zip file called out.zip. The zip file is then unzipped into a Downloads folder. However, because the zip file also contains a folder, and the folder name changes each time (out of my control), I don't know where the final file geodatabase will be located.
For example, when I run the code, the location will be something like this:
...\Downloads\20181018\QSC_Extracted_Data_20181018_103130077000-7024\data.gdb
The next time, the location will be:
..\Downloads\20181019\QSC_Extracted_Data_20181019_111958123000-8024\data.gdb
It's that folder right above the data.gdb which changes.
My workaround was to have a python scripted parameter which searches the date folder (20181019) for a file named data.gdb and return the path. However, it seems that the python scripted paramter is run at run-time prior to the download of the file geodatabase and so, when the translation begins, it can't find it.
Relevant code for the python scripted parameter:
import os
import fme
unzip_dir = os.path.join(fme.macroValues 'Download_Path'],fme.macroValuesh'Today'])
for dirpath, dirnames, filenames in os.walk(unzip_dir):
    if dirpath.endswith('data.gdb'):
        return dirpathÂ
The error I get is:
Unable to connect to the File Geodatabase at '.'. Make sure the correct filename was specified, and that the geodatabase wasn't saved with a newer version of ArcGIS than the one installed locally. The error number from ArcObjects is: '-2147024894'. The error message from ArcObjects is: {}