1010from collections import defaultdict
1111
1212import msgpack
13+
1314from indico .errors import IndicoDecodingError
1415
1516logger = logging .getLogger (__name__ )
@@ -44,10 +45,10 @@ def deserialize(response, force_json=False, force_decompress=False):
4445 )
4546
4647
47-
4848def raw_bytes (content , * args , ** kwargs ):
4949 return content
5050
51+
5152def msgpack_deserialization (content , charset ):
5253 return msgpack .unpackb (content )
5354
@@ -71,20 +72,52 @@ def zip_serialization(content, charset=None):
7172_SERIALIZATION_FNS = defaultdict (
7273 lambda : text_deserialization ,
7374 {
74- "application/octet-stream" : raw_bytes ,
7575 "application/pdf" : raw_bytes ,
76+ "application/octet-stream" : raw_bytes ,
77+ "application/doc" : raw_bytes ,
78+ "application/ms-doc" : raw_bytes ,
79+ "application/msword" : raw_bytes ,
80+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document" : raw_bytes ,
81+ "application/vnd.oasis.opendocument.text" : raw_bytes ,
82+ "application/zip" : zip_serialization ,
83+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" : raw_bytes ,
84+ "application/vnd.ms-excel" : raw_bytes ,
85+ "application/msexcel" : raw_bytes ,
86+ "application/excel" : raw_bytes ,
87+ "application/msexcel" : raw_bytes ,
88+ "application/x-dos_ms_excel" : raw_bytes ,
89+ "application/x-excel" : raw_bytes ,
90+ "application/x-ms-excel" : raw_bytes ,
91+ "application/x-xls" : raw_bytes ,
92+ "application/xlc" : raw_bytes ,
93+ "application/xls" : raw_bytes ,
94+ "application/xlt" : raw_bytes ,
95+ "application/vnd.ms-powerpoint" : raw_bytes ,
96+ "application/vnd.openxmlformats-officedocument.presentationml.presentation" : raw_bytes ,
97+ "application/mspowerpoint" : raw_bytes ,
98+ "application/powerpoint" : raw_bytes ,
99+ "application/vnd.ms-powerpoint" : raw_bytes ,
100+ "application/x-mspowerpoint" : raw_bytes ,
101+ "image/png" : image_serialization ,
102+ "image/jpeg" : image_serialization ,
103+ "image/jpg" : image_serialization ,
104+ "image/tiff" : image_serialization ,
76105 "text/html" : text_deserialization ,
106+ "text/plain" : text_deserialization ,
107+ "text/rtf" : text_deserialization ,
108+ "message/rfc822" : raw_bytes ,
109+ "application/vnd.ms-outlook" : raw_bytes ,
110+ "application/vnd.ms-office" : raw_bytes ,
111+ "binary/octet-stream" : raw_bytes ,
112+ "application/rtf" : text_deserialization ,
113+ "text/csv" : text_deserialization ,
77114 "application/x-msgpack" : msgpack_deserialization ,
78115 "application/msgpack" : msgpack_deserialization ,
79116 "x-msgpack" : msgpack_deserialization ,
80117 "msgpack" : msgpack_deserialization ,
81118 "application/json" : json_deserialization ,
82119 "json" : json_deserialization ,
83120 "application/javascript" : json_deserialization ,
84- "image/png" : image_serialization ,
85- "image/jpeg" : image_serialization ,
86- "image/jpg" : image_serialization ,
87- "application/zip" : zip_serialization ,
88121 "application/x-gzip" : raw_bytes ,
89122 "application/gzip" : raw_bytes ,
90123 },
0 commit comments