From 43b372c0feb0881b81bd4668e76b76daf09bed5c Mon Sep 17 00:00:00 2001 From: Thomas Zarebczan Date: Fri, 15 Feb 2019 18:13:00 -0500 Subject: [PATCH 1/3] fix extension - remove dot The rest of our extensions don't have a dot. Also, strip off any characters and lowercase it to be safe. --- lbrynet/extras/daemon/mime_types.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lbrynet/extras/daemon/mime_types.py b/lbrynet/extras/daemon/mime_types.py index df182d2c2..c9f38ee7d 100644 --- a/lbrynet/extras/daemon/mime_types.py +++ b/lbrynet/extras/daemon/mime_types.py @@ -154,5 +154,5 @@ types_map = { def guess_media_type(path): _, ext = os.path.splitext(path) - default = f'application/x-ext-{ext}' if ext else 'application/octet-stream' + default = 'application/octet-stream' if not ext else f'application/x-ext-{ext[1:].strip().lower()}' return types_map.get(ext, default) From 652d7cbd24bf5862bb62ab92dc7ff0a336be6e4a Mon Sep 17 00:00:00 2001 From: Thomas Zarebczan Date: Fri, 15 Feb 2019 18:30:37 -0500 Subject: [PATCH 2/3] consider . extension --- lbrynet/extras/daemon/mime_types.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lbrynet/extras/daemon/mime_types.py b/lbrynet/extras/daemon/mime_types.py index c9f38ee7d..41ce4d5e9 100644 --- a/lbrynet/extras/daemon/mime_types.py +++ b/lbrynet/extras/daemon/mime_types.py @@ -154,5 +154,5 @@ types_map = { def guess_media_type(path): _, ext = os.path.splitext(path) - default = 'application/octet-stream' if not ext else f'application/x-ext-{ext[1:].strip().lower()}' + default = 'application/octet-stream' if not (ext and ext[1:].strip()) else f'application/x-ext-{ext[1:].strip().lower()}' return types_map.get(ext, default) From fc450eb1644639906b620d8fdb55a4ebf4006dab Mon Sep 17 00:00:00 2001 From: Jack Robison Date: Fri, 15 Feb 2019 20:42:55 -0500 Subject: [PATCH 3/3] add TestMimeTypes, pylint --- lbrynet/extras/daemon/mime_types.py | 6 ++++-- tests/unit/lbrynet_daemon/test_mime_types.py | 14 ++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 tests/unit/lbrynet_daemon/test_mime_types.py diff --git a/lbrynet/extras/daemon/mime_types.py b/lbrynet/extras/daemon/mime_types.py index 41ce4d5e9..5af8c1eef 100644 --- a/lbrynet/extras/daemon/mime_types.py +++ b/lbrynet/extras/daemon/mime_types.py @@ -154,5 +154,7 @@ types_map = { def guess_media_type(path): _, ext = os.path.splitext(path) - default = 'application/octet-stream' if not (ext and ext[1:].strip()) else f'application/x-ext-{ext[1:].strip().lower()}' - return types_map.get(ext, default) + return types_map.get( + ext, + 'application/octet-stream' if not (ext and ext[1:].strip()) else f'application/x-ext-{ext[1:].strip().lower()}' + ) diff --git a/tests/unit/lbrynet_daemon/test_mime_types.py b/tests/unit/lbrynet_daemon/test_mime_types.py new file mode 100644 index 000000000..5d074e47e --- /dev/null +++ b/tests/unit/lbrynet_daemon/test_mime_types.py @@ -0,0 +1,14 @@ +import unittest +from lbrynet.extras.daemon import mime_types + + +class TestMimeTypes(unittest.TestCase): + def test_mp4_video(self): + self.assertEqual("video/mp4", mime_types.guess_media_type("test.mp4")) + + def test_x_ext_(self): + self.assertEqual("application/x-ext-lbry", mime_types.guess_media_type("test.lbry")) + + def test_octet_stream(self): + self.assertEqual("application/octet-stream", mime_types.guess_media_type("test.")) + self.assertEqual("application/octet-stream", mime_types.guess_media_type("test"))