
Problem/Motivation
The "Find replace" tamper causes an import to fail when it doesn't apply to all items to all sources.
Steps to reproduce
Create a feed which ingests XML. Add a "Find replace" tamper rule to one of the mappings; the rule should not apply to all items in the source. For example, given the XML:
<?xml version="1.0"?>
<response>
<item key="0">
<guid>4896</guid>
<title>A Test</title>
<body><![CDATA[ <p>Hamburgers.</p> ]]></body>
</item>
<item key="1">
<guid>2560</guid>
<title>Another Test</title>
<body><![CDATA[ <p>Nope.</p> ]]></body>
</item>
</response>
...create Feed type which include a "Find replace" tamper to change "Hamburgers" to "Hotdogs".
Because the rule would not apply to the second item in the source, the entire import would fail - nothing would import.
Proposed resolution
Update Feeds Tamper such that when a rule does not apply, it is ignored.
Comments
Comment #2
butterwise CreditAttribution: butterwise commentedComment #3
tclnj CreditAttribution: tclnj commentedExperiencing similar issue with JSON feed, though seems more related to the ability to handle array data in newer versions of the module.
Comment #4
ecj CreditAttribution: ecj commentedhere is the patch (avoiding g*t as being owned by m*soft.):
Comment #5
bob-e CreditAttribution: bob-e commented@ecj How might I apply a patch that doesn't live on git?