From 14bd964fb11fb45af394212541a4314ab1fa384a Mon Sep 17 00:00:00 2001 From: Jan Brauer Date: Sun, 29 Jan 2012 17:18:30 +0100 Subject: [PATCH] Fix #50 - Catch YAML ScannerError --- tablib/formats/_yaml.py | 3 ++- test_tablib.py | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) 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):