def add(self, media_type, media_file, title=None, introduction=None):
params = {<EOL>'<STR_LIT>': self.access_token,<EOL>'<STR_LIT:type>': media_type<EOL>}<EOL>if media_type == '<STR_LIT>':<EOL><INDENT>assert title, '<STR_LIT>'<EOL>assert introduction, '<STR_LIT>'<EOL>description = {<EOL>'<STR_LIT:title>': title,<EOL>'<STR_LIT>': introduction<EOL>}<EOL>params['<STR_LIT:description>'] = json.dumps(description)<EOL><DEDENT>return self._post(<EOL>'<STR_LIT>',<EOL>params=params,<EOL>files={<EOL>'<STR_LIT>': media_file<EOL>}<EOL>)<EOL>
新增其它类型永久素材
详情请参考
http://mp.weixin.qq.com/wiki/14/7e6c03263063f4813141c3e17dd4350a.html

:param media_type: 媒体文件类型，分别有图片（image）、语音（voice）、视频（video）和缩略图（thumb）
:param media_file: 要上传的文件，一个 File-object
:param title: 视频素材标题，仅上传视频素材时需要
:param introduction: 视频素材简介，仅上传视频素材时需要
:return: 返回的 JSON 数据包