def list_criminal_case(self, offset=0, limit=99999, key_word: list = None, remove_type: int = 0, case_type=1, first_case_classify_id: str = "", second_case_classify_id: str = ""): """ 获取案件列表 :param offset: 偏移 :param limit: 数量 :param key_word: 关键字 :param remove_type: 0-案件列表,10-案件回收站 :param case_type: 1-我的案件,2-分发案件,16-所有案件,128-共享案件 :param first_case_classify_id: 一级案件分类id :param second_case_classify_id: 二级案件分类id :return: """ url = f"{server_address}/call?id=experts.listCriminalCase&v=" data = { "sessionid": self.session_id, "offset": offset, "limit": limit, "removeType": remove_type, "key_word": key_word, "type": case_type, "firstLevel": first_case_classify_id, "secondLevel": second_case_classify_id } res = get_response(url, data) return res
def logout(self): url = f"{server_address}/call?id=experts.logout&v=" data = { "sessionId": self.session_id } res = get_response(url, data) return res
def list_voice(self, cate_gory='MATERIAL', **kwargs): url = f"{server_address}/call?id=experts.listVoice&v=" data = { "sessionId": self.session_id, "cateGory": cate_gory, "criminalCaseId": kwargs["criminalCaseId"], "offset": 0, "limit": 99 } res = get_response(url, data) for k in kwargs.keys(): if k == 'verifyFile': uploaded_voice_list = [] voice_list = res.get('data').get('voiceList') for file in voice_list: for i in range(len(kwargs['verifyFile'])): if file['voiceFileName'] == kwargs['verifyFile'][i]: uploaded_voice_list.append(file) logging.info('uploaded_voiceList %s' % uploaded_voice_list) return uploaded_voice_list elif k == 'compareFile': if not len(kwargs['compareFile']) == 2: logging.error('Error: compareFile can only contain 2 files ...') raise ValueError('Error: compareFile can only contain 2 files ...') compare_voice_list = [] voice_list = res.get('data').get('voiceList') for file in voice_list: for i in range(len(kwargs['compareFile'])): if file['voiceFileName'] == kwargs['compareFile'][i]: compare_voice_list.append(file) logging.info('compare_voiceList %s' % compare_voice_list) return compare_voice_list return res
def add_voice_tag(self, begin_time, end_time, comment, case_id, voice_file_id, voice_tag_name, phoneme_id='', color='#D37F00'): """ 增加标记 :param begin_time: 开始时间 :param end_time: 结束时间 :param comment: 标记备注 :param case_id: 案件id :param voice_file_id: 音频文件id :param voice_tag_name: 标记名称 :param phoneme_id: :param color: :return: """ url = f"{server_address}/call?id=experts.addVoiceTag&v=" data = { 'sessionId': self.session_id, 'beginTime': begin_time, 'endTime': end_time, 'color': color, 'comment': comment, 'criminalCaseId': case_id, 'phonemeId': phoneme_id, 'voiceFileId': voice_file_id, 'voiceTagName': voice_tag_name } res = get_response(url, data) return res
def open_criminal_case(self, case_id): url = f"{server_address}/call?id=experts.openCriminalCase&v=" data = { "sessionId": self.session_id, "criminalCaseId": case_id } res = get_response(url, data) return res
def remove_phoneme_filter(self, voice_file_id): url = f"{server_address}/call?id=experts.removePhonemeFilter&v=" data = { "sessionId": self.session_id, "voiceFileId": voice_file_id } res = get_response(url, data) return res
def login(nickname: str, password: str): url = f"{server_address}/call?id=experts.login&v=" data = { "nickname": nickname, "passwd": password } res = get_response(url, data) return res
def del_lpc_tag(self, lpc_id): url = f"{server_address}/call?id=experts.dellpctag&v=" data = { "sessionId": self.session_id, "id": lpc_id } res = get_response(url, data) return res
def remove_criminal_case_save(self, case_save_id): url = f"{server_address}/call?id=experts.removeCriminalCaseSave&v=" data = { "sessionId": self.session_id, "caseSaveId": case_save_id } res = get_response(url, data) return res
def list_lpc_tag(self, case_id): url = f"{server_address}/call?id=experts.listlpctag&v=" data = { "sessionId": self.session_id, "caseId": case_id } res = get_response(url, data) return res
def add_voice_tag_batch(self, tag_list): url = f"{server_address}/call?id=experts.addVoiceTagbatch&v=" data = { "sessionId": self.session_id, "taglist": tag_list } res = get_response(url, data) return res
def add_phoneme_filter(self, phoneme_id): url = f"{server_address}/call?id=experts.addPhonemeFilter&v=" data = { "sessionId": self.session_id, "phonemeId": phoneme_id } res = get_response(url, data) return res
def get_file_info(self, voice_id): url = f"{server_address}/call?id=experts.GetFileInfo&v=" data = { "sessionId": self.session_id, "voiceid": voice_id } res = get_response(url, data) return res
def get_identify_report(self, case_id): url = f"{server_address}/call?id=experts.getidentifyreport&v=" data = { "caseid": case_id, "sessionId": self.session_id } res = get_response(url, data) return res
def list_operation_log(self, case_id): url = f"{server_address}/call?id=experts.ListOprationLog&v=" data = { "sessionId": self.session_id, "caseid": case_id } res = get_response(url, data) return res
def list_user(self, offset, limit): url = f"{server_address}/call?id=experts.listUser&v=" data = { "sessionId": self.session_id, "offset": offset, "Limit": limit } res = get_response(url, data) return res
def remove_attachment(self, file_id): """""" url = f"{server_address}/call?id=experts.removeAttachment&v=" data = { "attachmentFileId": file_id, "sessionId": self.session_id } res = get_response(url, data) return res
def update_phoneme_name(self, phoneme_id, phoneme_name): url = f"{server_address}/call?id=experts.UpdatePhonemeName&v=" data = { "sessionId": self.session_id, "phonemeId": phoneme_id, "phonemeName": phoneme_name } res = get_response(url, data) return res
def remove_image(self, image_id): """""" url = f"{server_address}/call?id=experts.removeImage&v=" data = { 'sessionId': self.session_id, 'imageId': image_id } res = get_response(url, data) return res
def mark_phoneme(self, phoneme_id, marked=True): url = f"{server_address}/call?id=experts.markPhoneme&v=" data = { "sessionId": self.session_id, "phonemeId": phoneme_id, "marked": marked } res = get_response(url, data) return res
def upload_log(ip, desc, version): url = f"{server_address}/call?id=experts.uploadlog&v=" data = { "ip": ip, "desc": desc, "version": version } res = get_response(url, data) return res
def reset_key(self, user_id): """重置用户密码为123456""" url = f"{server_address}/call?id=experts.resetKey&v=" data = { "sessionId": self.session_id, "userId": user_id } res = get_response(url, data) return res
def upload_operation_log(self, case_id, log): url = f"{server_address}/call?id=experts.UploadOprationLog&v=" data = { "sessionId": self.session_id, "caseid": case_id, "log": log } res = get_response(url, data) return res
def save_voice_tag(self, case_id, voice_tag_list): url = f"{server_address}/call?id=experts.saveVoiceTag&v=" data = { "sessionId": self.session_id, "criminalCaseId": case_id, "voiceTagList": voice_tag_list } res = get_response(url, data) return res
def language_recognition(self, file_id, start_time=0, end_time=6000): url = f"{server_address}/call?id=experts.Language&v=" data = { "sessionId": self.session_id, "fileId": file_id, "startTime": start_time, "endTime": end_time } res = get_response(url, data) return res
def list_criminal_case_save(self, criminal_case_id, limit=100, offset=0): url = f"{server_address}/call?id=experts.listCriminalCaseSave&v=" data = { "sessionId": self.session_id, "criminalCaseId": criminal_case_id, "limit": limit, "offset": offset } res = get_response(url, data) return res
def gender_height(self, file_id, start_time=0, end_time=6000): url = f"{server_address}/call?id=experts.GenderHeight&v=" data = { "sessionId": self.session_id, "fileId": file_id, "startTime": start_time, "endTime": end_time } res = get_response(url, data) return res
def rename_voice(self, voice_file_id, voice_name): """""" url = f"{server_address}/call?id=experts.renameVoice&v=" data = { 'sessionId': self.session_id, 'voiceFileId': voice_file_id, 'voiceName': voice_name } res = get_response(url, data) return res
def phone_number(self, file_id, start_time=0, end_time=6000): url = f"{server_address}/call?id=experts.PhoneNumber&v=" data = { "sessionId": self.session_id, "fileId": file_id, "startTime": start_time, "endTime": end_time } res = get_response(url, data) return res
def get_mos_snr(self, voice_id): """获取文件mos和snr""" url = f"{server_address}/call?id=experts.getmossnr&v=" data = { "sessionId": self.session_id, "voiceid": voice_id } logging.info('get_mos_snr %s ' % data) res = get_response(url, data) return res