def __talkVoiceUpload(self, toid, seqid, mode): vid = 'thisisvid' data = 'data' param = {'call_id':int(time.time()*1000), 'fromid':self.uid, 'toid':toid, 'seqid':seqid, 'session_key':self.sessionKey, 'vid':vid, 'mode':mode, 'login_info':json.dumps({'cellid':'8888'})} method = 'talk.voiceUploadBin' param['method'] = method param = dict(tools.base_param.items() + param.items()) for key in param.keys() : if type(param[key]) is not types.StringType : param[key] = str(param[key]) print param param = tools.buildParam(param, self.secretKey) files = [('data', './voiceFile')] response = tools.post_multipart('/api', param.items(), files) status = response.status if status != 200: print status print 'voice upload failed' return False else : resObj = response.read() print resObj resObj = json.loads(resObj) if int(resObj['result']) == 1 : print 'voice upload succeed' return True
def __apiLogin(self, accound, password) : param = {'check':0, 'user':accound, 'password':hashlib.md5(password).hexdigest(), 'call_id':int(time.time()*1000), 'version':'1.0', 'login_info':json.dumps({'cellid':'8888'})} response = tools.mcsClient('client.login', dict(tools.base_param.items()+param.items())) if response[0] != 200 : print 'api login failure' return False else : resObj = json.loads(response[1]) self.uid = int(resObj['uid']) self.userName = resObj['user_name'] self.secretKey = resObj['secret_key'] self.sessionKey = resObj['session_key'] print 'api login success :\nuser id =', self.uid, '\nuser name =', self.userName, '\nsecretKey =', self.secretKey return True