# -*- coding: utf-8 -*-
"""
네트워크 캡처용 - 약사님이 직접 주문 버튼 클릭
"""
import sys; sys.path.insert(0, '.'); import wholesale_path
from wholesale import SooinSession
from playwright.sync_api import sync_playwright
import time

s = SooinSession()
print('로그인...')
s.login()

# 장바구니에 코자정 담기
print('\n코자정 검색...')
result = s.search_products('코자정 50mg PTP')
product = None
for item in result.get('items', []):
    if 'PTP' in item['name']:
        product = item
        break

if product:
    print(f"제품: {product['name']} - {product['price']:,}원")
    s.add_to_cart(product['internal_code'], qty=1, 
                  price=product['price'], stock=product['stock'])
    print('장바구니에 담음!')
else:
    print('제품 못 찾음')

# 장바구니 확인
cart = s.get_cart()
print(f"\n장바구니: {cart['total_items']}개, {cart['total_amount']:,}원")

print('\n' + '='*50)
print('브라우저 열기 + 네트워크 캡처 시작')
print('='*50)

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False)  # 브라우저 보임
    context = browser.new_context()
    
    # 세션 쿠키 복사
    for c in s.session.cookies:
        context.add_cookies([{
            'name': c.name,
            'value': c.value,
            'domain': c.domain or 'sooinpharm.co.kr',
            'path': c.path or '/'
        }])
    
    page = context.new_page()
    
    # 네트워크 요청 캡처
    def on_request(request):
        if 'BagOrder' in request.url and request.method == 'POST':
            print('\n' + '='*50)
            print('🎯 POST 요청 캡처!')
            print('='*50)
            print(f'URL: {request.url}')
            print(f'\nPOST 데이터:')
            data = request.post_data or ''
            # 파라미터별로 출력
            for param in data.split('&'):
                if '=' in param:
                    key, val = param.split('=', 1)
                    print(f'  {key}: {val[:50]}')
            print('='*50)
    
    page.on('request', on_request)
    
    # 주문 페이지로 이동
    page.goto('http://sooinpharm.co.kr/Service/Order/Order.asp')
    
    print('\n✅ 브라우저 준비 완료!')
    print('👆 주문전송 버튼을 클릭해주세요!')
    print('\n(Enter 누르면 브라우저 닫힘)')
    input()
    
    browser.close()

print('\n완료!')
