summaryrefslogtreecommitdiff
path: root/mimeparse.py
diff options
context:
space:
mode:
authorStefan Wójcik <wojcikstefan@gmail.com>2016-04-21 06:18:39 +0200
committerDB Tsai, Apache Spark Committer <dbtsai@dbtsai.com>2016-04-20 21:18:39 -0700
commit40e441782286b62caf521892af6b6e83021b5898 (patch)
treeff6265f4f1d1cc669bc7f0ca7fe6f9d802fc2f63 /mimeparse.py
parentcbf1c8686fdef2b1459b714d49856338f63c574e (diff)
downloadpython-mimeparse-40e441782286b62caf521892af6b6e83021b5898.tar.gz
make sure mimeparse gracefully handles an invalid mime type of the form "text/extra/part" (#14)
Diffstat (limited to 'mimeparse.py')
-rw-r--r--mimeparse.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/mimeparse.py b/mimeparse.py
index 3563249..8cdb6e2 100644
--- a/mimeparse.py
+++ b/mimeparse.py
@@ -50,10 +50,11 @@ def parse_mime_type(mime_type):
if full_type == '*':
full_type = '*/*'
- if '/' not in full_type:
+ type_parts = full_type.split('/') if '/' in full_type else None
+ if not type_parts or len(type_parts) > 2:
raise MimeTypeParseException("Can't parse type \"{}\"".format(full_type))
- (type, subtype) = full_type.split('/')
+ (type, subtype) = type_parts
return (type.strip(), subtype.strip(), params)