5.5 KiB
5.5 KiB
현재 그룹 상품 업로드 개선사항 가이드
🎯 주요 개선사항
1. 사업자 정보 표시 및 조건부 실행
- 선택된 마켓 정보가 있는 경우: 사업자 정보를 보여주고 마켓정보 변경 → 상품 업로드 순으로 실행
- 선택된 마켓 정보가 없는 경우: 기존 설정대로 진행한다는 메시지와 함께 상품 업로드만 실행
2. 현대적인 진행상황 다이얼로그
- 실시간 진행상황: 현재 상품 / 총 상품 수 표시
- 단계별 진행률: 마켓정보 변경 → 상품 업로드 단계 표시
- 경과 시간: 실시간 작업 시간 표시
- 로그 영역: 상세한 작업 진행 로그
- 제어 기능: 일시정지/재개/취소 버튼
3. 추후 확장성 고려
- 여러 사업자 순차 처리를 위한 구조 준비
- 업로드정보삭제 → 마켓정보변경 → 상품수정 → 상품업로드 흐름 지원
📁 파일 구조
src/
├── upload_progress_dialog.py # 진행상황 다이얼로그 (새로 생성)
├── mainUI_SP.py # 메인 UI (수정됨)
└── browser_control.py # 브라우저 컨트롤러 (시그널 추가)
🔧 구현된 기능
1. 진행상황 다이얼로그 (ModernProgressDialog)
주요 기능:
- 현대적인 UI 디자인: 그라데이션 진행 바, 카드 형태 레이아웃
- 실시간 진행률: 전체 진행률과 단계별 진행률 표시
- 시간 추적: 경과 시간, 일시정지 시간 계산
- 로그 시스템: 타임스탬프가 포함된 상세 로그
- 마켓 정보 표시: 선택된 마켓과 사업자 정보 표시
주요 메서드:
# 단일 사업자 업로드 시작
start_upload(total_products, market_info)
# 여러 사업자 업로드 시작 (추후 확장용)
start_multi_business_upload(business_queue, total_products_per_business)
# 진행상황 업데이트
update_progress(current_product, step_name, step_progress)
# 로그 추가
add_log(message)
# 업로드 완료
complete_upload()
2. 메인 UI 개선 (mainUI_SP.py)
수정된 메서드:
on_upload_selected_markets_clicked(): 개선된 업로드 로직get_current_group_product_count(): 현재 그룹 상품수 가져오기on_upload_cancel_requested(): 업로드 취소 처리on_upload_pause_requested(): 일시정지 처리on_upload_resume_requested(): 재개 처리on_upload_progress_updated(): 진행상황 업데이트on_upload_step_changed(): 단계 변경 처리on_upload_log_message(): 로그 메시지 처리on_upload_completed(): 완료 처리
3. 브라우저 컨트롤러 시그널 추가 (browser_control.py)
새로운 시그널:
upload_progress_updated = Signal(int, int) # (현재 상품, 총 상품)
upload_step_changed = Signal(str, int) # (단계명, 진행률 %)
upload_log_message = Signal(str) # 로그 메시지
upload_completed = Signal(bool, str) # (성공여부, 메시지)
🚀 사용 방법
1. 기본 사용
- 현재 그룹의 상품을 업로드 버튼 클릭
- 선택된 마켓 정보 확인 대화상자에서 정보 검토
- 예 선택 시 진행상황 다이얼로그가 표시됨
- 실시간으로 진행상황 모니터링 가능
2. 진행상황 다이얼로그 제어
- 일시정지: 작업을 일시적으로 중단
- 재개: 일시정지된 작업을 계속 진행
- 취소: 작업을 완전히 중단
- 닫기: 작업 완료 후 다이얼로그 닫기
3. 로그 모니터링
- 타임스탬프가 포함된 상세 로그
- 자동 스크롤로 최신 로그 표시
- 작업 단계별 진행 상황 추적
🔮 추후 확장 계획
여러 사업자 순차 처리
# 사용 예시 (추후 구현 시)
business_queue = [
{'name': '사업자1', 'market_info': {...}},
{'name': '사업자2', 'market_info': {...}}
]
total_products_per_business = {'사업자1': 50, '사업자2': 30}
dialog.start_multi_business_upload(business_queue, total_products_per_business)
처리 흐름 (여러 사업자)
- 사업자1: 업로드정보삭제 → 마켓정보변경 → 상품수정 → 상품업로드
- 사업자2: 업로드정보삭제 → 마켓정보변경 → 상품수정 → 상품업로드
- 반복: 모든 사업자 완료까지
🎨 UI 특징
디자인 요소
- 색상 테마: 현대적인 파스텔 톤
- 진행 바: 그라데이션 효과
- 카드 레이아웃: 섹션별 구분된 디자인
- 반응형: 창 크기에 따른 적응형 레이아웃
사용자 경험
- 직관적 인터페이스: 한눈에 파악 가능한 진행상황
- 실시간 피드백: 즉시 확인 가능한 작업 진행
- 안전한 제어: 작업 취소 시 확인 절차
📋 주의사항
- 권한 확인: VIP 권한이 필요한 기능입니다
- 사업자 설정: 사업자관리에서 미리 설정이 필요합니다
- 네트워크 상태: 안정적인 인터넷 연결을 유지해야 합니다
- 작업 중단: 일시정지 기능을 활용하여 안전하게 중단 가능합니다
🔧 커스터마이징
스타일 변경
src/upload_progress_dialog.py의 setup_styles() 메서드에서 CSS 스타일 수정 가능
로그 형식 변경
add_log() 메서드에서 타임스탬프 형식 및 메시지 형식 수정 가능
진행률 계산 변경
update_progress() 메서드에서 진행률 계산 로직 수정 가능