Merge pull request #110 from djrobstep/develop

Fix for a broken YAML test and tsv autodetection
This commit is contained in:
Kenneth Reitz 2014-01-08 11:44:30 -08:00
commit 939b0af551
3 changed files with 5 additions and 3 deletions

View File

@ -49,7 +49,7 @@ def import_set(dset, in_stream, headers=True):
def detect(stream):
"""Returns True if given stream is valid CSV."""
try:
csv.Sniffer().sniff(stream)
csv.Sniffer().sniff(stream, delimiters=',')
return True
except (csv.Error, TypeError):
return False

View File

@ -26,12 +26,12 @@ extensions = ('yaml', 'yml')
def export_set(dataset):
"""Returns YAML representation of Dataset."""
return yaml.dump(dataset._package(ordered=False))
return yaml.safe_dump(dataset._package(ordered=False))
def export_book(databook):
"""Returns YAML representation of Databook."""
return yaml.dump(databook._package())
return yaml.safe_dump(databook._package(ordered=False))
def import_set(dset, in_stream):

View File

@ -493,10 +493,12 @@ class TablibTestCase(unittest.TestCase):
_yaml = '- {age: 90, first_name: John, last_name: Adams}'
_json = '[{"last_name": "Adams","age": 90,"first_name": "John"}]'
_csv = '1,2,3\n4,5,6\n7,8,9\n'
_tsv = '1\t2\t3\n4\t5\t6\n7\t8\t9\n'
_bunk = '¡¡¡¡¡¡---///\n\n\n¡¡£™∞¢£§∞§¶•¶ª∞¶•ªº••ª–º§•†•§º¶•†¥ª–º•§ƒø¥¨©πƒø†ˆ¥ç©¨√øˆ¥≈†ƒ¥ç©ø¨çˆ¥ƒçø¶'
self.assertEqual(tablib.detect(_yaml)[0], tablib.formats.yaml)
self.assertEqual(tablib.detect(_csv)[0], tablib.formats.csv)
self.assertEqual(tablib.detect(_tsv)[0], tablib.formats.tsv)
self.assertEqual(tablib.detect(_json)[0], tablib.formats.json)
self.assertEqual(tablib.detect(_bunk)[0], None)