번역 전 url 확인 후 asset 이미지 패스처리
url 이미지 크기 확인불가시 jpg 또는 png 확인 되면 그대로 번역 진행
This commit is contained in:
parent
a5c98e3512
commit
7d2e681f7f
|
|
@ -264,8 +264,12 @@ class WhaleTranslator:
|
|||
# 웨일 창을 찾지 못했을 경우 사용자에게 입력 받기
|
||||
self.logger.debug("웨일 창을 찾지 못했습니다. 새로운 웨일창 호출.")
|
||||
self.create_and_update_whale_window()
|
||||
|
||||
if url.startswith("https://assets.alicdn.com"):
|
||||
self.logger.debug("assets.alicdn.com 확인 : 번역작업을 패스합니다.")
|
||||
return False
|
||||
|
||||
if self.whale_hwnd:
|
||||
elif self.whale_hwnd:
|
||||
try:
|
||||
self.logger.debug(f"웨일 창을 찾았습니다.{self.whale_hwnd}")
|
||||
|
||||
|
|
@ -567,50 +571,46 @@ class WhaleTranslator:
|
|||
self.logger.error(f"현재 웨일 창의 제목을 가져올 수 없습니다. : {e}", exc_info = True)
|
||||
|
||||
return window_title
|
||||
|
||||
|
||||
def check_image_size(self, url, min_width=200, min_height=150):
|
||||
"""
|
||||
현재 활성화된 웨일 창의 이름을 가져온 후
|
||||
제목에서 이미지의 해상도를 확인한 후, 일정 크기 이하인 경우 작업을 패스하도록 처리합니다.
|
||||
제목에서 이미지의 해상도를 확인하고, 일정 크기 이하인 경우 작업을 패스하도록 처리합니다.
|
||||
"""
|
||||
window_title = self.get_whale_window_title()
|
||||
|
||||
# 해상도를 추출하기 위해 제목에서 괄호 안의 (숫자×숫자) 부분을 찾음
|
||||
|
||||
if not window_title == self.whale_window_name:
|
||||
match = re.search(r"\((\d+)×(\d+)\)", window_title)
|
||||
if match:
|
||||
width = int(match.group(1))
|
||||
height = int(match.group(2))
|
||||
self.logger.debug(f"이미지 해상도: {width}×{height}")
|
||||
|
||||
# 해상도가 기준보다 작은 경우 패스
|
||||
if width < min_width or height < min_height:
|
||||
self.logger.debug(f"이미지 해상도가 기준이하 [{min_width} x {min_height}]입니다. 작업을 패스합니다.")
|
||||
return False # 작업을 수행하지 않음
|
||||
return True # 작업을 계속 진행
|
||||
|
||||
elif window_title == self.whale_window_name:
|
||||
self.logger.warning("이미지 주소로 이동하지 못하여 이미지 해상도를 가져오지 못했습니다.")
|
||||
self.enter_url(url)
|
||||
try:
|
||||
# 현재 웨일 창의 제목 가져오기
|
||||
window_title = self.get_whale_window_title()
|
||||
|
||||
# 창 제목이 초기 웨일 창 제목과 동일하다면 URL로 이동하여 새로 업데이트
|
||||
if window_title == self.whale_window_name:
|
||||
self.logger.warning("이미지 주소로 이동하지 못하여 이미지 해상도를 가져오지 못했습니다.")
|
||||
self.enter_url(url)
|
||||
window_title = self.get_whale_window_title()
|
||||
|
||||
# 가져온 창 제목에서 해상도 추출 시도
|
||||
match = re.search(r"\((\d+)×(\d+)\)", window_title)
|
||||
if match:
|
||||
# 해상도가 있는 경우, 너비와 높이를 기준으로 작업 처리
|
||||
width = int(match.group(1))
|
||||
height = int(match.group(2))
|
||||
self.logger.debug(f"이미지 해상도: {width}×{height}")
|
||||
self.logger.info(f"이미지 해상도: {width}×{height}")
|
||||
|
||||
# 해상도가 기준보다 작은 경우 패스
|
||||
if width < min_width or height < min_height:
|
||||
self.logger.debug(f"이미지 해상도가 기준이하 [{min_width} x {min_height}]입니다. 작업을 패스합니다.")
|
||||
if width < min_width or height < min_height:
|
||||
self.logger.info(f"이미지 해상도가 기준 이하 [{min_width} x {min_height}]입니다. 작업을 패스합니다.")
|
||||
return False # 작업을 수행하지 않음
|
||||
return True # 작업을 계속 진행
|
||||
return True # 해상도 조건을 만족하면 작업을 진행
|
||||
|
||||
else:
|
||||
# 해상도가 없다면, 파일 확장자를 확인하여 번역 여부 결정
|
||||
elif window_title.endswith(".jpg") or window_title.endswith(".png"):
|
||||
self.logger.info("이미지 해상도가 없지만, 파일 확장자가 .jpg 또는 .png입니다. 번역 작업을 진행합니다.")
|
||||
return True # 해상도가 없어도 번역 작업을 수행
|
||||
|
||||
# 해상도도 없고, 파일 확장자도 매칭되지 않는 경우
|
||||
self.logger.warning("이미지 해상도가 존재하지 않고 파일 확장자도 일치하지 않습니다. 작업을 패스합니다.")
|
||||
return False
|
||||
except Exception as e:
|
||||
self.logger.error(f"이미지 사이즈 측정 중 오류발생: {e}", exc_info=True)
|
||||
|
||||
self.logger.error("웨일 창을 찾을 수 없습니다.")
|
||||
return False
|
||||
|
||||
def move_mouse_to_center(self):
|
||||
"""웨일 브라우저 창의 중앙으로 마우스 커서를 이동"""
|
||||
|
|
|
|||
Loading…
Reference in New Issue