kwau/sovits-isla
0
1import json2import threading3 4from volcengine.ApiInfo import ApiInfo5from volcengine.Credentials import Credentials6from volcengine.ServiceInfo import ServiceInfo7from volcengine.base.Service import Service8 9 10# https://github.com/volcengine/volc-sdk-python11class SAMIService(Service):12 _instance_lock = threading.Lock()13 14 def __new__(cls, *args, **kwargs):15 if not hasattr(SAMIService, "_instance"):16 with SAMIService._instance_lock:17 if not hasattr(SAMIService, "_instance"):18 SAMIService._instance = object.__new__(cls)19 return SAMIService._instance20 21 def __init__(self):22 self.service_info = SAMIService.get_service_info()23 self.api_info = SAMIService.get_api_info()24 super(SAMIService, self).__init__(self.service_info, self.api_info)25 26 @staticmethod27 def get_service_info():28 api_url = 'open.volcengineapi.com'29 service_info = ServiceInfo(api_url, {},30 Credentials('', '', 'sami', 'cn-north-1'), 10, 10)31 return service_info32 33 @staticmethod34 def get_api_info():35 api_info = {36 "GetToken": ApiInfo("POST", "/", {"Action": "GetToken", "Version": "2021-07-27"}, {}, {}),37 }38 return api_info39 40 def common_json_handler(self, api, body):41 params = dict()42 try:43 body = json.dumps(body)44 res = self.json(api, params, body)45 res_json = json.loads(res)46 return res_json47 except Exception as e:48 res = str(e)49 try:50 res_json = json.loads(res)51 return res_json52 except: # noqa53 raise Exception(str(e))54 55 56 57 58 