AutoPercenty3/docs/UPLOAD_PROGRESS_GUIDE.md

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. 기본 사용

  1. 현재 그룹의 상품을 업로드 버튼 클릭
  2. 선택된 마켓 정보 확인 대화상자에서 정보 검토
  3. 선택 시 진행상황 다이얼로그가 표시됨
  4. 실시간으로 진행상황 모니터링 가능

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. 사업자1: 업로드정보삭제 → 마켓정보변경 → 상품수정 → 상품업로드
  2. 사업자2: 업로드정보삭제 → 마켓정보변경 → 상품수정 → 상품업로드
  3. 반복: 모든 사업자 완료까지

🎨 UI 특징

디자인 요소

  • 색상 테마: 현대적인 파스텔 톤
  • 진행 바: 그라데이션 효과
  • 카드 레이아웃: 섹션별 구분된 디자인
  • 반응형: 창 크기에 따른 적응형 레이아웃

사용자 경험

  • 직관적 인터페이스: 한눈에 파악 가능한 진행상황
  • 실시간 피드백: 즉시 확인 가능한 작업 진행
  • 안전한 제어: 작업 취소 시 확인 절차

📋 주의사항

  1. 권한 확인: VIP 권한이 필요한 기능입니다
  2. 사업자 설정: 사업자관리에서 미리 설정이 필요합니다
  3. 네트워크 상태: 안정적인 인터넷 연결을 유지해야 합니다
  4. 작업 중단: 일시정지 기능을 활용하여 안전하게 중단 가능합니다

🔧 커스터마이징

스타일 변경

src/upload_progress_dialog.pysetup_styles() 메서드에서 CSS 스타일 수정 가능

로그 형식 변경

add_log() 메서드에서 타임스탬프 형식 및 메시지 형식 수정 가능

진행률 계산 변경

update_progress() 메서드에서 진행률 계산 로직 수정 가능