#!/usr/bin/env python3
"""
Скрипт для вставки негативных фильтров в query-section.php
"""

# Читаем исходный файл
with open('/root/api/query-section.php', 'r', encoding='utf-8') as f:
    lines = f.readlines()

# Читаем код фильтров
with open('/root/patch-negative-filters-v2.php', 'r', encoding='utf-8') as f:
    filter_code = f.read()

# Извлекаем только нужную часть (без <?php и ?>)
filter_lines = []
in_code = False
for line in filter_code.split('\n'):
    if line.strip().startswith('$applyNegativeFilters'):
        in_code = True
    if in_code:
        filter_lines.append(line + '\n')
    if line.strip() == '?>':
        break

# Находим место для вставки (после строки с "DEBUG specializations filter: Filtered")
insert_index = None
for i, line in enumerate(lines):
    if 'DEBUG specializations filter: Filtered' in line and 'logParser' in line:
        # Ищем закрывающую скобку следующей if-конструкции
        brace_count = 0
        for j in range(i, min(i+10, len(lines))):
            if '{' in lines[j]:
                brace_count += lines[j].count('{')
            if '}' in lines[j]:
                brace_count -= lines[j].count('}')
                if brace_count == 0:
                    insert_index = j + 1
                    break
        break

if insert_index is None:
    print("ОШИБКА: Не найдено место для вставки!")
    exit(1)

print(f"Вставка фильтров после строки {insert_index}")

# Вставляем код
new_lines = lines[:insert_index]
new_lines.append('\n')
new_lines.append('    // ============================================\n')
new_lines.append('    // НЕГАТИВНЫЕ ФИЛЬТРЫ V2: Исключение нерелевантных результатов\n')
new_lines.append('    // ИСПРАВЛЕНО: Убраны 3 агрессивных правила\n')
new_lines.append('    // ============================================\n')
new_lines.append('\n')

# Добавляем код фильтров с правильными отступами
for line in filter_lines:
    if line.strip() and not line.strip().startswith('<?php') and not line.strip() == '?>':
        new_lines.append('    ' + line)

new_lines.append('\n')
new_lines.append('    // ============================================\n')
new_lines.append('\n')
new_lines.extend(lines[insert_index:])

# Сохраняем новый файл
with open('/root/api/query-section.php.new', 'w', encoding='utf-8') as f:
    f.writelines(new_lines)

print(f"Исходный файл: {len(lines)} строк")
print(f"Новый файл: {len(new_lines)} строк")
print(f"Добавлено: {len(new_lines) - len(lines)} строк")
print("\nФайл сохранен как query-section.php.new")
print("Для применения выполните: mv /root/api/query-section.php.new /root/api/query-section.php")
