Skip to content

Commit 1e8c94e

Browse files
committed
Ignore blank lines when editing class via CSV
1 parent 5756b28 commit 1e8c94e

File tree

3 files changed

+14
-0
lines changed

3 files changed

+14
-0
lines changed

CHANGES.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ Fixed:
137137
Increment rdbms version from 5 to 6. Mysql rdbms classes were
138138
missing unique key constraint. Found during fix for issue2551142.
139139
See upgrading.txt.
140+
- ignore blank lines in CSV class editing. (John Rouillard)
140141

141142
Features:
142143
- issue2550522 - Add 'filter' command to command-line

roundup/cgi/actions.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -513,6 +513,10 @@ def handle(self):
513513
# skip property names header
514514
if values == props:
515515
continue
516+
# skip blank lines. Can be in the middle
517+
# of the data or a newline at end of file.
518+
if len(values) == 0:
519+
continue
516520

517521
# extract the itemid
518522
itemid, values = values[0], values[1:]

test/test_cgi.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1477,6 +1477,15 @@ def testEditCSVKeyword(self):
14771477
self.assertEqual(cl._ok_message, ['Items edited OK'])
14781478
k = self.db.keyword.getnode('1')
14791479
self.assertEqual(k.name, u2s(u'\xe4\xf6\xfc'))
1480+
form = dict(rows='id,name\n1,newkey\n\n2,newerkey\n\n')
1481+
cl = self._make_client(form, userid='1', classname='keyword')
1482+
cl._ok_message = []
1483+
actions.EditCSVAction(cl).handle()
1484+
self.assertEqual(cl._ok_message, ['Items edited OK'])
1485+
k = self.db.keyword.getnode('1')
1486+
self.assertEqual(k.name, 'newkey')
1487+
k = self.db.keyword.getnode('2')
1488+
self.assertEqual(k.name, 'newerkey')
14801489

14811490
def testEditCSVTest(self):
14821491

0 commit comments

Comments
 (0)