#!/bin/bash

# Скрипт для проверки уровня тонера HP принтера на macOS

set -e

echo "🖨️  Проверка уровня тонера HP принтера"
echo ""

# Найти все HP принтеры
HP_PRINTERS=$(lpstat -p 2>/dev/null | grep -i "hp" | awk '{print $2}' || true)

if [ -z "$HP_PRINTERS" ]; then
    echo "❌ HP принтеры не найдены в системе"
    exit 1
fi

# Для каждого HP принтера
echo "$HP_PRINTERS" | while read printer; do
    echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
    echo "📋 Принтер: $printer"
    echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
    echo ""
    
    # Базовая информация о принтере
    echo "📊 Статус принтера:"
    lpstat -p "$printer" -l 2>/dev/null | head -3 || true
    echo ""
    
    # Информация о цвете
    echo "🎨 Режим печати:"
    COLOR_MODE=$(lpoptions -p "$printer" -l 2>/dev/null | grep -i "ColorModel" | grep -o '\*[^*]*' | sed 's/*//' || echo "")
    if [ -z "$COLOR_MODE" ]; then
        COLOR_MODE=$(lpoptions -p "$printer" 2>/dev/null | grep -i "ColorModel" | awk -F'=' '{print $2}' | awk '{print $1}' || echo "")
    fi
    if echo "$COLOR_MODE" | grep -qi "gray\|mono\|black"; then
        echo "  ⚫ Монохромный (черно-белый)"
        echo "  ❌ Цветная печать НЕ поддерживается"
    elif [ ! -z "$COLOR_MODE" ]; then
        echo "  🎨 Цветной режим: $COLOR_MODE"
    else
        echo "  ⚫ Монохромный (черно-белый) - по умолчанию для лазерных принтеров"
        echo "  ❌ Цветная печать НЕ поддерживается"
    fi
    echo ""
    
    # Попытка получить информацию о тонере через CUPS
    echo "🔋 Уровень тонера:"
    echo "  ⚠️  CUPS не предоставляет прямого доступа к уровню тонера"
    echo ""
    echo "  📝 Рекомендуемые способы проверки:"
    echo ""
    echo "  1️⃣  Панель управления принтера:"
    echo "     - Нажмите кнопку 'OK' на принтере"
    echo "     - Перейдите в меню 'Отчеты'"
    echo "     - Выберите 'Страница состояния расходных материалов'"
    echo "     - Принтер напечатает страницу с уровнем тонера"
    echo ""
    echo "  2️⃣  Приложение HP Smart (если установлено):"
    echo "     - Откройте приложение HP Smart"
    echo "     - Выберите ваш принтер"
    echo "     - Просмотрите уровень тонера"
    echo ""
    echo "  3️⃣  Дисплей принтера:"
    echo "     - Проверьте дисплей принтера"
    echo "     - Уровень тонера отображается на экране"
    echo ""
    
    # Проверка подключения
    DEVICE=$(lpstat -v "$printer" 2>/dev/null | grep -i "device for" | awk -F'device for' '{print $2}' | awk '{print $1}' || echo "неизвестно")
    echo "🔌 Подключение:"
    echo "  $DEVICE"
    echo ""
    
    # Информация о принтере
    echo "ℹ️  Информация о модели:"
    if echo "$printer" | grep -qi "m402"; then
        echo "  Модель: HP LaserJet Pro M402dn"
        echo "  Тип: Монохромный лазерный принтер"
        echo "  Цветная печать: ❌ НЕ поддерживается"
        echo "  Максимальное разрешение: 1200 x 1200 dpi"
    fi
    echo ""
done

echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "💡 Совет: Для точной проверки уровня тонера используйте"
echo "   панель управления принтера или приложение HP Smart"
echo ""

