diff --git a/CHANGELOG.txt b/CHANGELOG.txt index d0a56429283a5a34134c14fd28a8ea497473a418..f4490dd300887392f1da94d2fce0d4fd9e1a31a5 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -3,6 +3,7 @@ Feeds 6.x 1.X XXXX ------------------ +- #624464 lyricnz, alex_b: Fix to "support tabs as delimiters". - #840350 lyricnz: (Optionally) Transliterate enclosure filenames to provide protection from awkward names. - #842040 dixon_: Accept all responses from the 2xx status code series. diff --git a/feeds_defaults/tests/feeds_defaults.test b/feeds_defaults/tests/feeds_defaults.test index 4c65b3b825225e2ae1946a31b89a200d5ba198f5..5f7aac7495793bcfea7fef9c41f93b198b7319b8 100644 --- a/feeds_defaults/tests/feeds_defaults.test +++ b/feeds_defaults/tests/feeds_defaults.test @@ -347,7 +347,7 @@ class FeedsDefaultsNodeTestCase extends FeedsDefaultsTestCase { $this->drupalPost('import/node/delete-items', array(), 'Delete'); $edit = array( 'files[feeds]' => $this->absolutePath() .'/tests/feeds/nodes.tsv', - 'feeds[FeedsCSVParser][delimiter]' => "\t", + 'feeds[FeedsCSVParser][delimiter]' => "TAB", ); $this->drupalPost('import/node', $edit, 'Import'); $this->assertText('Created 8 Story nodes.'); diff --git a/plugins/FeedsCSVParser.inc b/plugins/FeedsCSVParser.inc index 730726e80771bc91dd0b6131bf654ff052e7db88..4d3be593d538b95450a0ada90b3ecb7825b558c4 100644 --- a/plugins/FeedsCSVParser.inc +++ b/plugins/FeedsCSVParser.inc @@ -16,7 +16,8 @@ class FeedsCSVParser extends FeedsParser { $iterator = new ParserCSVIterator(realpath($batch->getFilePath())); $source_config = $source->getConfigFor($this); $parser = new ParserCSV(); - $parser->setDelimiter($source_config['delimiter']); + $delimiter = $source_config['delimiter'] == 'TAB' ? "\t" : $source_config['delimiter']; + $parser->setDelimiter($delimiter); $parser->setSkipFirstLine(FALSE); $rows = $parser->parse($iterator); unset($parser); @@ -89,7 +90,7 @@ class FeedsCSVParser extends FeedsParser { '#options' => array( ',' => ',', ';' => ';', - "\t" => 'TAB', + 'TAB' => 'TAB', ), '#default_value' => isset($source_config['delimiter']) ? $source_config['delimiter'] : ',', ); @@ -115,7 +116,7 @@ class FeedsCSVParser extends FeedsParser { '#options' => array( ',' => ',', ';' => ';', - "\t" => 'TAB', + 'TAB' => 'TAB', ), '#default_value' => $this->config['delimiter'], );