utils.py 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. import requests
  2. import os
  3. import json
  4. import traceback
  5. from log import Log
  6. from config import set_config
  7. log_ = Log()
  8. config_ = set_config()
  9. def request_post(request_url, headers, request_data):
  10. """
  11. post 请求 HTTP接口
  12. :param request_url: 接口URL
  13. :param headers: 请求头
  14. :param request_data: 请求参数
  15. :return: res_data json格式
  16. """
  17. try:
  18. response = requests.post(url=request_url, json=request_data, headers=headers)
  19. # print(response)
  20. if response.status_code == 200:
  21. res_data = json.loads(response.text)
  22. return res_data
  23. else:
  24. return None
  25. except Exception as e:
  26. log_.error('url: {}, exception: {}, traceback: {}'.format(request_url, e, traceback.format_exc()))
  27. return None
  28. def request_get(request_url, headers, params=None):
  29. """
  30. get 请求 HTTP接口
  31. :param request_url: 接口URL
  32. :param headers: 请求头
  33. :param params: 请求参数
  34. :return: res_data json格式
  35. """
  36. try:
  37. response = requests.get(url=request_url, headers=headers, params=params)
  38. if response.status_code == 200:
  39. res_data = json.loads(response.text)
  40. return res_data
  41. else:
  42. return None
  43. except Exception as e:
  44. log_.error('url: {}, exception: {}, traceback: {}'.format(request_url, e, traceback.format_exc()))
  45. return None
  46. def download_video(video_path, video_id, download_folder, ftype='mp4'):
  47. """下载视频"""
  48. if not os.path.exists(download_folder):
  49. os.makedirs(download_folder)
  50. filename = f"{download_folder}/{video_id}.{ftype}"
  51. # 视频已存在,则不重复下载
  52. if os.path.exists(filename):
  53. return filename
  54. response = requests.get(video_path, stream=True)
  55. if response.status_code == 200:
  56. with open(filename, "wb") as video_file:
  57. for chunk in response.iter_content(chunk_size=8192):
  58. video_file.write(chunk)
  59. return filename
  60. def asr_validity_discrimination(text):
  61. """判断asr识别的文本是否有效"""
  62. words = set(text)
  63. words_rate = len(words) / len(text)
  64. # print(len(words), words_rate)
  65. if words_rate < 0.1:
  66. return False
  67. return True