Skip to content

Commit

Permalink
Merge branch 'master' into SID-to-user-migration-branch
Browse files Browse the repository at this point in the history
  • Loading branch information
Matthew Letter committed Aug 26, 2016
2 parents 36ac75a + 8a02854 commit 344f33c
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 2 deletions.
1 change: 1 addition & 0 deletions packages/slycat/mime_type.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ def guess_extension(content_type, strict):
return mimetypes.guess_extension(content_type, strict)

def guess_type(filename, strict=False, default="application/octet-stream"):
""" Wrap std mimetypes.guess_type to assign a default type """
content_type, encoding = mimetypes.guess_type(filename, strict=strict)
if content_type is None:
content_type = default
Expand Down
27 changes: 25 additions & 2 deletions test/mime_type_test.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,35 @@
import pytest
import os
from slycat import mime_type

csv_example = """MIME-Version: 1.0
Content-Type: dorg/csv
"""

sample_csv = 'test/fixtures/sample.csv'
empty_file = 'test/fixtures/empty'

def setup_module(self):
csv = open(sample_csv, 'w')
csv.write('1,1,2,3,5,8,13,-7')
csv.close()

empty = open(empty_file, 'w')
empty.write('')
empty.close()

def test_guess_csv_extension():
assert mime_type.guess_extension(csv_example, False) == 3
assert str(mime_type.guess_extension('text/csv', False)) == '.csv'

def test_guess_extension_sets_none_if_not_guessed():
assert mime_type.guess_extension('text/gorg', False) == None

def test_guess_type_defaults_to_application_octet():
assert mime_type.guess_type(empty_file) == ('application/octet-stream', None)

def test_guess_type_given_filename():
assert mime_type.guess_type("./example.csv") == "dorg/corg"
assert mime_type.guess_type(sample_csv) == ('text/csv', None)

def teardown_module(self):
os.remove(sample_csv)
os.remove(empty_file)

0 comments on commit 344f33c

Please sign in to comment.