Solved

Using the GUI_LINE_TABLE parameter type in FMX

  • 1 September 2017
  • 2 replies
  • 2 views

Userlevel 1
Badge +22

Hi,

I'm trying to build a custom (Python) transformer with a user defined "replacement" table.

The GUI_LINE_TABLE parameter type are defined as such (using semi-colon to separate pairs, and colon to separate values):

PARAMETER_NAME: REPL_LIST
PARAMETER_TYPE: GUI_LINE_TABLE COL_DELIM::%ROW_DELIM:;%NO_LABEL%NO_MOVE%"Erstat dette"%"STRING_ENCODED_OR_ATTR:REQUESTOR REQUESTOR"%"Med dette"%"STRING_ENCODED_OR_ATTR:SUPPLIER SUPPLIER"
PARAMETER_PROMPT: Enter values:
PARAMETER_DEFAULT: 

If I set it up with this content:

I get the following output:

%U:<space>%U;%L2:%L1;test:.<comma><semicolon>:<u00e6><u00f8><u00e5><u00c6><u00d8><u00c5><solidus><backslash>

Is there a comprehensive list anywhere describing all the possible "FME encodings" like "<space>" ?

Cheers

icon

Best answer by takashi 1 September 2017, 13:00

View original

2 replies

Userlevel 3
Badge +17

Hi @lifalin2016, I don't know where a comprehensive list of FME encodings is, but Python FME Objects API provides a method to decode an FME encoded text string.

See the decodeFromFMEParsableText method of the fmeobjects.FMESession class.

e.g.

import fmeobjects
fmeSession = fmeobjects.FMESession()
fmeLogger = fmeobjects.FMELogFile()
encoded = '%U:<space>%U;%L2:%L1;test:.<comma><semicolon>:<u00e6><u00f8><u00e5><u00c6><u00d8><u00c5><solidus><backslash>'
decoded = fmeSession.decodeFromFMEParsableText(encoded)
fmeLogger.logMessageString(decoded)

logged:

%U: %U;%L2:%L1;test:.,;:æøåÆØÅ/\
Userlevel 1
Badge +22

Hi @lifalin2016, I don't know where a comprehensive list of FME encodings is, but Python FME Objects API provides a method to decode an FME encoded text string.

See the decodeFromFMEParsableText method of the fmeobjects.FMESession class.

e.g.

import fmeobjects
fmeSession = fmeobjects.FMESession()
fmeLogger = fmeobjects.FMELogFile()
encoded = '%U:<space>%U;%L2:%L1;test:.<comma><semicolon>:<u00e6><u00f8><u00e5><u00c6><u00d8><u00c5><solidus><backslash>'
decoded = fmeSession.decodeFromFMEParsableText(encoded)
fmeLogger.logMessageString(decoded)

logged:

%U: %U;%L2:%L1;test:.,;:æøåÆØÅ/\
Thanks Takashi,

 

Just what I was looked for !

 

Cheers :-)

 

Reply