dropshop / src /adapters /source3_adapter.py
github-actions[bot]
Automated deployment from GitHub Actions: a9d5a91de63ad7224bafe6039fb2b7479388fbf4
0a8c81b
Raw History Blame Contribute Delete
1.44 kB
import logging
logger = logging.getLogger(__name__)
import time
import random
class Source3Adapter:
"""
Adapter for interacting with Backup Source 3 (e.g. Taobao Alternate).
"""
def __init__(self):
self.is_mock = True
def map_shopify_sku(self, shopify_sku: str, shopify_title: str = "") -> dict:
if self.is_mock:
logger.info(f"๐Ÿ”„ [SOURCE 3] (MOCK) Semantically mapping '{shopify_sku}'...")
time.sleep(1.0)
return {
"supplier_id": f"sup_s3_{random.randint(1000, 9999)}",
"variant_id": f"var_s3_{random.randint(10000, 99999)}",
"confidence": random.uniform(80.0, 90.0),
"mapped_attributes": ["้€š็”จ็‰ˆ"]
}
def create_draft_order(self, variant_id: str, quantity: int, address: dict) -> dict:
if self.is_mock:
logger.info(f"๐Ÿ›’ [SOURCE 3] (MOCK) Preparing draft order for Variant {variant_id}")
time.sleep(1.5)
mock_order_id = f"S3-{random.randint(100000, 999999)}"
logger.info(f"โœ… [SOURCE 3] Successfully drafted Order #{mock_order_id}. Status: AWAITING_PAYMENT")
return {
"status": "AWAITING_PAYMENT",
"order_id": mock_order_id,
"variant_id": variant_id,
"quantity": quantity,
"estimated_shipping_cny": 10.00
}