diff --git a/browser_control.py b/browser_control.py index d6fb4663..9621bfc3 100644 --- a/browser_control.py +++ b/browser_control.py @@ -1127,8 +1127,9 @@ class BrowserController(QThread): await self.edit_price(product_category) # 썸네일 수정 - if self.toggle_states.get('thumb',False): - self.logger.debug(f"썸네일수정 : {self.toggle_states['thumb']} ") + thumb = self.toggle_states.get('thumb',False) + if thumb: + self.logger.debug(f"썸네일수정 : {thumb} ") await self.edit_thumb() # 태그 수정 @@ -1140,8 +1141,10 @@ class BrowserController(QThread): pass # 상세페이지 수정 - if self.toggle_states.get('detail_Option',False) or self.toggle_states.get('detail_IMGTrans',False): - self.logger.debug(f"상세페이지 수정 : {self.toggle_states['detail_Option']} + {self.toggle_states['detail_IMGTrans']}") + detail_Option = self.toggle_states.get('detail_Option',False) + detail_IMGTrans = self.toggle_states.get('detail_IMGTrans',False) + if detail_Option or detail_IMGTrans: + self.logger.debug(f"상세페이지 수정 : {detail_Option} + {detail_IMGTrans}") if not self.toggle_states.get('recovery_mode',False): await self.detail_trans() @@ -1224,7 +1227,7 @@ class BrowserController(QThread): await self.click_option_tab() # 옵션 최대선택갯수 - max_option_count = self.toggle_states['max_option_count'] + max_option_count = self.toggle_states.get('max_option_count', 0) self.current_options_info = await self.optionHandler.process_options(product_name, max_option_count, self.toggle_states) # 수정 후 저장 diff --git a/clipboardImageManager.py b/clipboardImageManager.py index 5621d4b6..ef8332b5 100644 --- a/clipboardImageManager.py +++ b/clipboardImageManager.py @@ -205,13 +205,13 @@ class ClipboardImageManager: """클립보드의 내용을 처리하고, 필요한 경우 이미지 변환, 크롭 또는 클립보드 비우기""" try: - is_watermark = toggle_states['watermark'] + is_watermark = toggle_states.get('watermark') self.logger.debug(f"is_watermark : {is_watermark}") - watermark_text = toggle_states['watermark_text'] + watermark_text = toggle_states.get('watermark_text') self.logger.debug(f"watermark_text : {watermark_text}") - opacity_percent = toggle_states['opacity_percent'] + opacity_percent = toggle_states.get('opacity_percent') self.logger.debug(f"opacity_percent : {opacity_percent}") clipboard_data = self.get_clipboard_data() diff --git a/gui.py b/gui.py index 046c147b..79e3fc26 100644 --- a/gui.py +++ b/gui.py @@ -795,6 +795,12 @@ class AutoPercentyGUI(QWidget): self.browser_controller.wait() # 스레드가 종료될 때까지 대기 event.accept() + def close(self): + self.logger.debug('프로그램을 종료합니다...') + self.save_settings() + asyncio.run(self.browser_controller.close_browser()) # 브라우저 종료 + super().close() + @Slot() def on_start_PercentyJob_clicked(self): @@ -974,12 +980,6 @@ class AutoPercentyGUI(QWidget): # self.logger.debug('번역 작업을 중단합니다...') # self.running = False # 번역 작업 중단 - async def close(self): - self.logger.debug('프로그램을 종료합니다...') - self.save_settings() - await self.browser_controller.close_browser() # 브라우저 종료 - super().close() - # async def detail_trans(self): # # 상세페이지 탭 클릭 # await self.browser_controller.click_detail_tab() diff --git a/main.py b/main.py index d6d9f88e..3eeddf22 100644 --- a/main.py +++ b/main.py @@ -18,6 +18,8 @@ def allow_sleep(): ctypes.windll.kernel32.SetThreadExecutionState(ES_CONTINUOUS) if __name__ == '__main__': + app = QApplication([]) + # 로깅 설정 logger = setup_logger('default_logger', 'AutoPercenty3.log') @@ -25,7 +27,6 @@ if __name__ == '__main__': prevent_sleep() # PySide6 GUI 실행 - app = QApplication([]) window = AutoPercentyGUI(logger) window.show() diff --git a/option.py b/option.py index f668262e..8da982a4 100644 --- a/option.py +++ b/option.py @@ -222,12 +222,13 @@ class OptionHandler: # 4. 옵션 정보 수집 및 번역 - if toggle_states['optionTrnas']: - self.logger.debug(f"옵션 AI번역 : {toggle_states['optionTrnas']}") + optionTrnas = toggle_states.get('optionTrnas') + if optionTrnas: + self.logger.debug(f"옵션 AI번역 : {optionTrnas}") try: # Vertex AI를 통한 번역 시도 - translated_options = await self.vertexAItranslator.translate_options(self.option_info['original_names'], product_name) + translated_options = await self.vertexAItranslator.translate_options(self.option_info.get('original_names'), product_name) self.logger.debug(f"번역된 옵션 입력") await self.apply_translated_options(translated_options, self.option_info['edit_fields']) @@ -268,8 +269,9 @@ class OptionHandler: # 5. 옵션 필터링 및 조정 - if toggle_states['optionAutoSelect']: - self.logger.debug(f"옵션 필터링 및 조정 : {toggle_states['optionAutoSelect']}") + optionAutoSelect = toggle_states.get('optionAutoSelect') + if optionAutoSelect: + self.logger.debug(f"옵션 필터링 및 조정 : {optionAutoSelect}") await self.filter_and_adjust_options(max_option_count) # 가격 낮은 순 재정렬 클릭 await self.low_order_click() diff --git a/qt.conf b/qt.conf new file mode 100644 index 00000000..81319bc7 --- /dev/null +++ b/qt.conf @@ -0,0 +1,2 @@ +[Platforms] +WindowsArguments = dpiawareness=1 diff --git a/tmp_images/translated_thumb_0.png b/tmp_images/translated_thumb_0.png index e977a050..2486ccf5 100644 Binary files a/tmp_images/translated_thumb_0.png and b/tmp_images/translated_thumb_0.png differ diff --git a/tmp_images/translated_thumb_1.png b/tmp_images/translated_thumb_1.png index 94e63aa6..38dd26ef 100644 Binary files a/tmp_images/translated_thumb_1.png and b/tmp_images/translated_thumb_1.png differ diff --git a/tmp_images/translated_thumb_2.png b/tmp_images/translated_thumb_2.png index dda4635b..c51dd493 100644 Binary files a/tmp_images/translated_thumb_2.png and b/tmp_images/translated_thumb_2.png differ diff --git a/tmp_images/translated_thumb_3.png b/tmp_images/translated_thumb_3.png index 469d2cfd..b2a2dd0d 100644 Binary files a/tmp_images/translated_thumb_3.png and b/tmp_images/translated_thumb_3.png differ