diff --git a/tablib/formats/_yaml.py b/tablib/formats/_yaml.py index c9ffbd3..1c4f8d4 100644 --- a/tablib/formats/_yaml.py +++ b/tablib/formats/_yaml.py @@ -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 diff --git a/test_tablib.py b/test_tablib.py index 0bfb417..02a1eb3 100755 --- a/test_tablib.py +++ b/test_tablib.py @@ -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):