Skip to content
This repository was archived by the owner on Aug 7, 2024. It is now read-only.

Commit 913644a

Browse files
committed
replace mimetypes to filetype
mimetypes relies on file extension, while filetype relies on file header which is more stable.
1 parent acd9472 commit 913644a

File tree

3 files changed

+4
-6
lines changed

3 files changed

+4
-6
lines changed

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
requests
22
requests-oauthlib
3+
filetype

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ def extract_metaitem(meta):
5656
download_url=extract_metaitem('download_url'),
5757
packages=find_packages(exclude=('tests', 'docs')),
5858
platforms=['Any'],
59-
install_requires=['requests', 'requests-oauthlib'],
59+
install_requires=['requests', 'requests-oauthlib', 'filetype'],
6060
setup_requires=['pytest-runner'],
6161
tests_require=['pytest'],
6262
keywords='twitter api',

twitter/twitter_utils.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"""Collection of utilities for use in API calls, functions."""
33
from __future__ import unicode_literals
44

5-
import mimetypes
5+
import filetype
66
import os
77
import re
88
import sys
@@ -274,10 +274,7 @@ def parse_media_file(passed_media, async_upload=False):
274274
except Exception as e:
275275
pass
276276

277-
media_type = mimetypes.guess_type(os.path.basename(filename))[0]
278-
# The .srt extension is not recognised by the mimetypes module.
279-
if os.path.basename(filename).endswith('.srt'):
280-
media_type = 'text/srt'
277+
media_type = filetype.guess_mime(data_file.name)
281278
if media_type is not None:
282279
if media_type in img_formats and file_size > 5 * 1048576:
283280
raise TwitterError({'message': 'Images must be less than 5MB.'})

0 commit comments

Comments
 (0)