import time from concurrent.futures import as_completed, ThreadPoolExecutor, wait import threading from .remove_bg_pixian import RemoveBgPiXian from .other.module_online_data import GetOnlineData from .deal_one_image import DealOneImage, DealOneImageBeforehand from .other.log import MyLogger class DealCutout: def __init__(self, token): super().__init__() self.lock = threading.Lock() self.need_cutout_images = {} self.token = token self.state = 2 # 1进行中 2停止 self.get_online_data = GetOnlineData(self.token) self.is_upload_pic_num = 0 self.is_deal_num = 0 self.output_type = 0 # 图片列表 self.upload_pic_dict = {} self.logger = MyLogger().logger def startDispose(self): self.get_online_data.refresh_headers() num = 0 result_array = [] save_root_path = "" for image_data in self.need_cutout_images: num += 1 save_root_path = image_data["root_path"] upload_pic_dict = {} upload_pic_dict = DealOneImageBeforehand( image_data=image_data, lock=self.lock, windows=self, num=num, token=self.token, ).run(upload_pic_dict) result = DealOneImage( image_data=image_data, lock=self.lock, windows=self, num=num, token=self.token, ).run(image_data, upload_pic_dict) result_array.append(result) return result_array, save_root_path def normalMode(self): """普通模式""" self.get_online_data.refresh_headers() num = 0 result_array = [] print("self.need_cutout_images", self.need_cutout_images) save_root_path = "" for image_data in self.need_cutout_images: num += 1 save_root_path = image_data["root_path"] result = DealOneImageBeforehand( image_data=image_data, lock=self.lock, windows=self, num=num, token=self.token, ).get_image_cut_noraml(image_data) result_array.append(result) return result_array, save_root_path class DealCloths: def __init__(self, token): super().__init__() self.lock = threading.Lock() self.need_cutout_images = {} self.token = token self.output_type = 0 self.state = 2 # 1进行中 2停止 self.get_online_data = GetOnlineData(self.token) self.is_upload_pic_num = 0 self.is_deal_num = 0 # 图片列表 self.upload_pic_dict = {} self.logger = MyLogger().logger def startDispose(self): self.get_online_data.refresh_headers() num = 0 result_array = [] save_root_path = "" for image_data in self.need_cutout_images: num += 1 save_root_path = image_data["root_path"] upload_pic_dict = {} hand = DealOneImageBeforehand( image_data=image_data, lock=self.lock, windows=self, num=num, token=self.token, ) upload_pic_dict = hand.get_image_cut_cloths(image_data) result_array.append(upload_pic_dict) return result_array, save_root_path