Fix #50 - Catch YAML ScannerError

This commit is contained in:
Jan Brauer
2012-01-29 17:18:30 +01:00
parent 6bfc6634ba
commit 14bd964fb1
2 changed files with 4 additions and 1 deletions
+2 -1
View File
@@ -60,5 +60,6 @@ def detect(stream):
return True
else:
return False
except (yaml.parser.ParserError, yaml.reader.ReaderError):
except (yaml.parser.ParserError, yaml.reader.ReaderError,
yaml.scanner.ScannerError):
return False
+2
View File
@@ -476,12 +476,14 @@ class TablibTestCase(unittest.TestCase):
"""Test YAML format detection."""
_yaml = '- {age: 90, first_name: John, last_name: Adams}'
_tsv = 'foo\tbar'
_bunk = (
'¡¡¡¡¡¡---///\n\n\n¡¡£™∞¢£§∞§¶•¶ª∞¶•ªº••ª–º§•†•§º¶•†¥ª–º•§ƒø¥¨©πƒø†ˆ¥ç©¨√øˆ¥≈†ƒ¥ç©ø¨çˆ¥ƒçø¶'
)
self.assertTrue(tablib.formats.yaml.detect(_yaml))
self.assertFalse(tablib.formats.yaml.detect(_bunk))
self.assertFalse(tablib.formats.yaml.detect(_tsv))
def test_auto_format_detect(self):