"""
Predefined extraction schemas for structured data extraction
"""

# Predefined extraction schemas
EXTRACTION_SCHEMAS = {
    "product": {
        "name": ["h1", ".product-title", ".title", ".name"],
        "price": [".price", ".cost", ".amount", "[data-price]"],
        "description": [".description", ".product-description", ".details"],
        "image": ["img.product-image", ".main-image img", ".product-photo"],
        "rating": [".rating", ".score", ".stars", "[data-rating]"],
        "availability": [".stock", ".availability", ".in-stock", ".available"]
    },
    "article": {
        "title": ["h1", ".article-title", ".post-title", ".title"],
        "author": [".author", ".by-author", ".writer", "[data-author]"],
        "date": [".date", ".published", ".timestamp", "time"],
        "content": [".content", ".article-content", ".post-content", ".body"],
        "tags": [".tags a", ".categories a", ".keywords"],
        "image": [".featured-image", ".article-image", ".post-image"]
    },
    "person": {
        "name": ["h1", ".name", ".full-name", ".person-name"],
        "title": [".title", ".job-title", ".position"],
        "company": [".company", ".organization", ".workplace"],
        "location": [".location", ".address", ".city"],
        "bio": [".bio", ".description", ".about", ".summary"],
        "photo": [".profile-photo", ".avatar", ".headshot"]
    },
    "event": {
        "title": ["h1", ".event-title", ".title"],
        "date": [".date", ".event-date", ".when", "time"],
        "location": [".location", ".venue", ".where", ".address"],
        "description": [".description", ".event-description", ".details"],
        "price": [".price", ".cost", ".ticket-price"],
        "organizer": [".organizer", ".host", ".by"]
    },
    "course": {
        "title": ["h1", ".course-title", ".title"],
        "instructor": [".instructor", ".teacher", ".author"],
        "duration": [".duration", ".length", ".time"],
        "price": [".price", ".cost", ".tuition"],
        "description": [".description", ".course-description", ".overview"],
        "level": [".level", ".difficulty", ".skill-level"],
        "rating": [".rating", ".score", ".reviews"]
    },
    "job": {
        "title": ["h1", ".job-title", ".position"],
        "company": [".company", ".employer", ".organization"],
        "location": [".location", ".city", ".address"],
        "salary": [".salary", ".pay", ".compensation"],
        "description": [".description", ".job-description", ".requirements"],
        "type": [".job-type", ".employment-type", ".contract"],
        "posted": [".posted", ".date", ".published"]
    },
    "review": {
        "rating": [".rating", ".stars", ".score", "[data-rating]"],
        "title": ["h1", ".review-title", ".title"],
        "content": [".review-content", ".content", ".text"],
        "author": [".author", ".reviewer", ".by"],
        "date": [".date", ".reviewed-on", "time"],
        "helpful": [".helpful", ".useful", ".votes"]
    }
}
