fix(ingest/salesforce): escape markdown char for multiline description (#10351)

This commit is contained in:
dushayntAW 2024-04-23 17:05:55 +05:30 committed by GitHub
parent 934ab03d16
commit b9a34fe90b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 19 additions and 14 deletions

View File

@ -537,11 +537,21 @@ class SalesforceSource(Source):
# Here field description is created from label, description and inlineHelpText
def _get_field_description(self, field: dict, customField: dict) -> str:
desc = field["Label"]
if field.get("FieldDefinition", {}).get("Description"):
desc = "{0}\n\n{1}".format(desc, field["FieldDefinition"]["Description"])
if field.get("InlineHelpText"):
desc = "{0}\n\n{1}".format(desc, field["InlineHelpText"])
desc = (
"\\" + field["Label"] if field["Label"].startswith("#") else field["Label"]
)
for key in ["FieldDefinition", "InlineHelpText"]:
text: Optional[str] = ""
if isinstance(field.get(key), dict):
text = field[key].get("Description")
else:
text = field.get(key)
if text:
prefix = "\\" if text.startswith("#") else ""
desc += f"\n\n{prefix}{text}"
return desc
# Here jsonProps is used to add additional salesforce field level properties.
@ -575,13 +585,6 @@ class SalesforceSource(Source):
description = self._get_field_description(field, customField)
# escaping string starting with `#`
description = (
"\\" + description
if description and description.startswith("#")
else description
)
schemaField = SchemaFieldClass(
fieldPath=fieldPath,
type=SchemaFieldDataTypeClass(type=TypeClass()), # type:ignore

View File

@ -2517,6 +2517,7 @@
"QualifiedApiName": "Unique_Account",
"DeveloperName": "Unique_Account",
"Label": "# Unique_Account",
"InlineHelpText": "# Help Text",
"FieldDefinition": {
"attributes": {
"type": "FieldDefinition",
@ -2527,7 +2528,8 @@
"LastModifiedBy": null,
"IsIndexed": false,
"ComplianceGroup": null,
"SecurityClassification": null
"SecurityClassification": null,
"Description": "This is the # description"
},
"DataType": "string",
"Precision": 0,

View File

@ -1354,7 +1354,7 @@
{
"fieldPath": "Unique_Account",
"nullable": true,
"description": "\\# Unique_Account",
"description": "\\# Unique_Account\n\nThis is the # description\n\n\\# Help Text",
"type": {
"type": {
"com.linkedin.schema.StringType": {}