Skip to main content
Solved

FME Package Transformer expose attributes from FMEUniversalReader

  • January 29, 2025
  • 5 replies
  • 76 views

brad.cartledge
Contributor
Forum|alt.badge.img+2

We have been putting together a transformer using the FME Packages SDK using FME Packages SDK Guide. As part of the package we are using the fmeobjects.FMEUniversalReader to read features. When we pipe the features to pyoutput to one of the transformers output ports all the attributes are not exposed. As the UnversalReader in our package references parameters in the transformer the attributes will not be consistent. Is there a way to make the attributes exposed on the output?

Thanks

Brad

Best answer by crystalatsafe

Hi ​@brad.cartledge 

Thanks for reporting this.
I found a related enhancement request for this in our system (internal reference IDEA-330). There currently isn't a specific timeline for this request, but I've linked this thread as a reference in the ticket.

We will try updating you if and when we implement this enhancement.

View original
Did this help you find an answer to your question?
This post is closed to further activity.
It may be a question with a best answer, an implemented idea, or just a post needing no comment.
If you have a follow-up or related question, 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.

5 replies

crystalatsafe
Safer
Forum|alt.badge.img+19

Hi ​@brad.cartledge 

Are you using a PythonCaller or PythonCreator for this? If so, please share a screenshot of how you set that up. Can you also share a screenshot of your workspace? 


brad.cartledge
Contributor
Forum|alt.badge.img+2
  • Author
  • Contributor
  • February 4, 2025

Hi ​@crystalatsafe 

We are using neither of these transformers in our workspace. We have created this transformer using the Transformer Designer. 

The execution instructions for the transformer uses the PythonFactory

FACTORY_DEF {*} TeeFactory
   FACTORY_NAME { $(XFORMER_NAME)_ExternalData_CATCHER }
   $(INPUT_ExternalData_LINES)
   OUTPUT { FEATURE_TYPE $(XFORMER_NAME)_ExternalData_READY
      @SupplyAttributes(___XF_VERSION, 1)
      $(FME_PARM_VAL_LIST)
   }

FACTORY_DEF {*} TeeFactory
   FACTORY_NAME { $(XFORMER_NAME)_ExternalSchema_CATCHER }
   $(INPUT_ExternalSchema_LINES)
   OUTPUT { FEATURE_TYPE $(XFORMER_NAME)_ExternalSchema_READY
      @SupplyAttributes(___XF_VERSION, 1)
      $(FME_PARM_VAL_LIST)
   }

FACTORY_DEF {*} PythonFactory
    FACTORY_NAME { $(XFORMER_NAME)_DATA_PROCESSOR }
    PY_INPUT_TAGS { ExternalData ExternalSchema }
    INPUT { ExternalData FEATURE_TYPE $(XFORMER_NAME)_ExternalData_READY }
    INPUT { ExternalSchema FEATURE_TYPE $(XFORMER_NAME)_ExternalSchema_READY }
    SYMBOL_NAME fme_datasetvalidator.transformer.DataProcessor
    PY_OUTPUT_TAGS { Report Statistics ExternalData LiveData }
    OUTPUT { Report FEATURE_TYPE $(OUTPUT_Report_FTYPE)
       @RemoveAttributes(fme_regexp_match,^___XF_.*$)
       $(OUTPUT_Report_FUNCS) }
    OUTPUT { Statistics FEATURE_TYPE $(OUTPUT_Statistics_FTYPE)
       @RemoveAttributes(fme_regexp_match,^___XF_.*$)
       $(OUTPUT_Statistics_FUNCS) }
    OUTPUT { ExternalData FEATURE_TYPE $(OUTPUT_ExternalData_FTYPE)
       @RemoveAttributes(fme_regexp_match,^___XF_.*$)
       $(OUTPUT_ExternalData_FUNCS) }
    OUTPUT { LiveData FEATURE_TYPE $(OUTPUT_LiveData_FTYPE) 
       @RemoveAttributes(fme_regexp_match,^___XF_.*$) 
       $(OUTPUT_LiveData_FUNCS) }

It is within our python script located at fme_datasetvalidator.transformer.DataProcessor that we create reader object using FMEObjects.FMEUniversalReader fmeobjects.FMEUniversalReader — Python FME API FME 2024.2 b24791 documentation to read features based on the transformer parameters. The features are then output using pyoutput to the ‘LiveData’ port.

It looks like as we are reading features only within the transformer rather than have them passed through the transformer they are output with unexposed attributes. 

Thanks for taking the time to take a look at this for us, please let us know if there is any other information we can provide.

Thanks

Brad


crystalatsafe
Safer
Forum|alt.badge.img+19
  • Safer
  • Best Answer
  • February 10, 2025

Hi ​@brad.cartledge 

Thanks for reporting this.
I found a related enhancement request for this in our system (internal reference IDEA-330). There currently isn't a specific timeline for this request, but I've linked this thread as a reference in the ticket.

We will try updating you if and when we implement this enhancement.


brad.cartledge
Contributor
Forum|alt.badge.img+2
  • Author
  • Contributor
  • February 10, 2025

Hi ​@crystalatsafe 

Thanks for taking the time and linking this with an existing enhancement request. We will keep an eye out for any updates.

Thanks

Brad


crystalatsafe
Safer
Forum|alt.badge.img+19

You're welcome ​@brad.cartledge 
Happy to help! 


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings