#!/usr/bin/env python3
"""
Create Google Sheet for Inventory Management
"""

import gspread
import os
import json
from google.auth.transport.requests import Request
from google.oauth2.service_account import Credentials

# Column headers for inventory
INVENTORY_COLUMNS = [
    'Linha',
    'Quantidade em stock',
    'Tipo',
    'Ref',
    'Modelo',
    'Submodelo',
    'Tipo de tampa',
    'Medida',
    'Tipo de Medida',
    'Madeira',
    'Laminado',
    'Cor',
    'Acabamento',
    'Zinco/Inox',
    'Estofo',
    'Tecido',
    'Cor Tecido',
    'Renda',
    'Conjunto',
    'Asas',
    'Qtd Asas',
    'Cruz/Cristo',
    'Fecho',
    'Acessórios',
    'Extras/Observações',
    'Cliente'
]

def create_inventory_sheet():
    """Create a new Google Sheet for inventory management"""
    
    try:
        # Get credentials from credentials.json
        credentials_file = 'credentials.json'
        
        if not os.path.exists(credentials_file):
            print("❌ credentials.json not found!")
            print("Please ensure you have downloaded your Google Sheets API credentials.")
            return None
        
        # Load credentials
        with open(credentials_file) as f:
            creds_data = json.load(f)
        
        # Create credentials
        credentials = Credentials.from_service_account_info(
            creds_data,
            scopes=['https://www.googleapis.com/auth/spreadsheets', 'https://www.googleapis.com/auth/drive']
        )
        
        # Authorize
        gc = gspread.authorize(credentials)
        
        # Create a new spreadsheet
        print("📝 Creating new Google Sheet...")
        spreadsheet = gc.create('Globale RC - Inventário')
        
        # Get the worksheet
        worksheet = spreadsheet.sheet1
        
        # Add headers
        print(f"📋 Adding {len(INVENTORY_COLUMNS)} column headers...")
        worksheet.append_row(INVENTORY_COLUMNS)
        
        # Format header row
        worksheet.format('1', {'textFormat': {'bold': True}, 'backgroundColor': {'red': 0.667, 'green': 0.784, 'blue': 0.922}})
        
        # Get the sheet ID
        sheet_id = spreadsheet.id
        
        print(f"\n✅ SUCCESS! Inventory Sheet Created")
        print(f"📊 Sheet ID: {sheet_id}")
        print(f"📌 Sheet Name: {spreadsheet.title}")
        print(f"🔗 URL: {spreadsheet.url}")
        print(f"\n📝 Columns ({len(INVENTORY_COLUMNS)}):")
        for i, col in enumerate(INVENTORY_COLUMNS, 1):
            print(f"   {i:2d}. {col}")
        
        print(f"\n➡️  Update app.py line 38:")
        print(f'   INVENTORY_SPREADSHEET_ID = "{sheet_id}"')
        
        return sheet_id
        
    except Exception as e:
        print(f"❌ Error: {e}")
        import traceback
        traceback.print_exc()
        return None

if __name__ == '__main__':
    print("\n" + "="*60)
    print("CRIAR FOLHA DE INVENTÁRIO - CREATE INVENTORY SHEET")
    print("="*60 + "\n")
    
    sheet_id = create_inventory_sheet()
    
    if sheet_id:
        print("\n" + "="*60)
        print("✅ Pronto! Ready to use!")
        print("="*60 + "\n")
