authenticated_by_admin 값으로 모든회원에게 VIP 인페인팅 제공기능 추가
This commit is contained in:
parent
8cb5475350
commit
1cb25533b3
|
|
@ -4,6 +4,7 @@ Scripts/
|
|||
__pycache__/
|
||||
build/
|
||||
dist/
|
||||
src/temp_images/
|
||||
pyvenv.cfg
|
||||
*.log
|
||||
*.log.*
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -69,6 +69,7 @@ class MAIN_GUI(QMainWindow):
|
|||
# 사용자 정보 저장 (user_id 등)
|
||||
self.user_info = user_info
|
||||
self.user_membership_level = user_info.get('membership_level')
|
||||
self.authenticated_by_admin = user_info.get("authenticated_by_admin")
|
||||
self.sp_user_id = user_info.get("id") # 예를 들어, 'users' 테이블의 PK 값
|
||||
|
||||
self.image_processor = None
|
||||
|
|
@ -1144,6 +1145,8 @@ class MAIN_GUI(QMainWindow):
|
|||
|
||||
def on_detailIMGTrans_type_combo_changed(self, selected_option):
|
||||
"""상세페이지 이미지번역 엔진 드롭박스 변경 핸들러"""
|
||||
if not self.authenticated_by_admin:
|
||||
return
|
||||
validated_option = self.validate_and_adjust_option(
|
||||
self.detail_IMGTrans_type_combo,
|
||||
selected_option,
|
||||
|
|
@ -1153,6 +1156,8 @@ class MAIN_GUI(QMainWindow):
|
|||
|
||||
def on_thumb_trans_type_combo_changed(self, selected_option):
|
||||
"""썸네일 번역 엔진 드롭박스 변경 핸들러"""
|
||||
if not self.authenticated_by_admin:
|
||||
return
|
||||
validated_option = self.validate_and_adjust_option(
|
||||
self.thumb_trans_type_combo,
|
||||
selected_option,
|
||||
|
|
@ -1162,6 +1167,8 @@ class MAIN_GUI(QMainWindow):
|
|||
|
||||
def on_optionIMGTrans_type_combo_changed(self, selected_option):
|
||||
"""옵션 이미지번역 엔진 드롭박스 변경 핸들러"""
|
||||
if not self.authenticated_by_admin:
|
||||
return
|
||||
validated_option = self.validate_and_adjust_option(
|
||||
self.optionIMGTrans_type_combo,
|
||||
selected_option,
|
||||
|
|
@ -5125,7 +5132,7 @@ class MAIN_GUI(QMainWindow):
|
|||
try:
|
||||
if is_trans_enabled:
|
||||
from src.modules.image_processor3 import ImageProcessor3
|
||||
self.image_processor = ImageProcessor3(self.logger, self.browser_controller.page, self.toggle_states, self.toggle_states['unwanted_words'], self.base_dir)
|
||||
self.image_processor = ImageProcessor3(self.logger, self.browser_controller.page, self.toggle_states, self.toggle_states['unwanted_words'], self.authenticated_by_admin, self.base_dir)
|
||||
self.browser_controller.image_processor = self.image_processor
|
||||
except Exception as e:
|
||||
self.logger.log(f"ImageProcessor3 초기화 중 오류 발생: {e}", level=logging.ERROR, exc_info=True)
|
||||
|
|
|
|||
|
|
@ -299,10 +299,10 @@ class DetailHandler:
|
|||
await input_field.type('---')
|
||||
await input_field.press('Enter')
|
||||
|
||||
self.logger.info('옵션 목록 입력 완료')
|
||||
self.logger.log('옵션 목록 입력 완료', level=logging.INFO)
|
||||
|
||||
except Exception as e:
|
||||
self.logger.error(f"옵션 목록 입력 중 오류 발생: {str(e)}")
|
||||
self.logger.log(f"옵션 목록 입력 중 오류 발생: {str(e)}", level=logging.ERROR, exc_info=True)
|
||||
raise
|
||||
|
||||
async def input_detail_text(self, optionHandler):
|
||||
|
|
@ -336,16 +336,16 @@ class DetailHandler:
|
|||
if option_data and len(option_data) > 0:
|
||||
# 옵션이 2개 이상이면 무조건 다중 옵션으로 처리
|
||||
if len(option_data) > 1:
|
||||
self.logger.info(f"다중 옵션 감지 ({len(option_data)}개), 옵션 목록 입력 시작")
|
||||
self.logger.log(f"다중 옵션 감지 ({len(option_data)}개), 옵션 목록 입력 시작", level=logging.DEBUG)
|
||||
await self.input_option_list(option_data)
|
||||
else:
|
||||
# 옵션이 1개인 경우에만 is_single 값 확인
|
||||
is_single = optionHandler.option_info.get('is_single_option', True)
|
||||
if not is_single:
|
||||
self.logger.info("단일 옵션이 아님, 옵션 목록 입력 시작")
|
||||
self.logger.log("단일 옵션이 아님, 옵션 목록 입력 시작", level=logging.DEBUG)
|
||||
await self.input_option_list(option_data)
|
||||
else:
|
||||
self.logger.info("단일 옵션 상품으로 판단, 옵션 목록 입력 건너뜀")
|
||||
self.logger.log("단일 옵션 상품으로 판단, 옵션 목록 입력 건너뜀", level=logging.DEBUG)
|
||||
|
||||
except Exception as e:
|
||||
self.logger.log(f"상세페이지 텍스트 입력 중 오류 발생: {e}", level=logging.ERROR)
|
||||
|
|
|
|||
|
|
@ -25,12 +25,13 @@ from src.modules.request_inpaint import RequestInpainting
|
|||
class ImageProcessor3:
|
||||
"""이미지 다운로드, OCR, 번역 처리를 담당하는 클래스"""
|
||||
|
||||
def __init__(self, logger, browser_page, toggle_states, unwanted_words, base_dir):
|
||||
def __init__(self, logger, browser_page, toggle_states, unwanted_words, authenticated_by_admin, base_dir):
|
||||
self.logger = logger
|
||||
self.page = browser_page
|
||||
self.base_dir = base_dir
|
||||
self.toggle_states = toggle_states
|
||||
self.unwanted_texts = unwanted_words
|
||||
self.authenticated_by_admin = authenticated_by_admin
|
||||
|
||||
self.inpaint_method = 'cv'
|
||||
try:
|
||||
|
|
@ -212,7 +213,7 @@ class ImageProcessor3:
|
|||
|
||||
# 인페인팅
|
||||
# is_member_valid = self.toggle_states.get('membership_level', 'basic') == 'premium' or self.toggle_states.get('membership_level', 'basic') == 'vip'
|
||||
is_member_valid = self.toggle_states.get('membership_level', 'basic') == 'vip'
|
||||
is_member_valid = self.toggle_states.get('membership_level', 'basic') == 'vip' or self.authenticated_by_admin
|
||||
|
||||
self.logger.log(f"ocr_count: {ocr_count}", level=logging.DEBUG)
|
||||
self.logger.log(f"is_member_valid: {is_member_valid}", level=logging.DEBUG)
|
||||
|
|
|
|||
Binary file not shown.
Loading…
Reference in New Issue