Skip to content

Commit f175348

Browse files
committed
Add method for getting file extension
1 parent 45125ce commit f175348

File tree

3 files changed

+15
-0
lines changed

3 files changed

+15
-0
lines changed

CHANGES.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
* Added python 3.11
99
* Fixed tests on windows
1010
* Add methods for the transcoding and transformation API
11+
* Add a method for getting the file extension from a Result object
1112

1213
## 1.5.2
1314
Remove letsencrypt DST Root from ca bundle for openssl 1.0.0 compatibility

test/tinify_result_test.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,11 @@ def test_content_type_should_return_mime_type(self):
3535
def test_to_buffer_should_return_image_data(self):
3636
self.assertEqual(b'image data', self.result.to_buffer())
3737

38+
def test_extension(self):
39+
self.assertEqual('png', self.result.extension)
40+
41+
42+
3843
class TinifyResultWithoutMetaAndDataTest(TestHelper):
3944
def setUp(self):
4045
self.result = Result({}, None)
@@ -59,3 +64,6 @@ def test_content_type_should_return_none(self):
5964

6065
def test_to_buffer_should_return_none(self):
6166
self.assertEqual(None, self.result.to_buffer())
67+
68+
def test_extension(self):
69+
self.assertEqual(None, self.result.extension)

tinify/result.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,12 @@ def size(self):
2727
def media_type(self):
2828
return self._meta.get('Content-Type')
2929

30+
@property
31+
def extension(self):
32+
media_type = self._meta.get('Content-Type')
33+
if media_type:
34+
return media_type.split('/')[-1]
35+
3036
@property
3137
def content_type(self):
3238
return self.media_type

0 commit comments

Comments
 (0)