Пофиксил умена зеркал при добавлении

This commit is contained in:
2025-12-02 09:16:36 +03:00
parent ad479a2069
commit 96f961b0f8

View File

@@ -203,10 +203,17 @@ def find_mirror_satellites(mirror_names: list) -> list:
Алгоритм: Алгоритм:
1. Для каждого имени зеркала: 1. Для каждого имени зеркала:
- Обрезать пробелы и привести к нижнему регистру - Обрезать пробелы
- Извлечь первую часть имени (до скобки), если есть двойное имя
- Привести к нижнему регистру
- Найти все спутники, в имени или альтернативном имени которых содержится это имя - Найти все спутники, в имени или альтернативном имени которых содержится это имя
2. Вернуть список найденных спутников 2. Вернуть список найденных спутников
Примеры обработки:
- "DSN-3 (SUPERBIRD-C2)" -> "dsn-3"
- "Turksat 3A" -> "turksat 3a"
- " Amos 4 " -> "amos 4"
Args: Args:
mirror_names: список имен зеркал mirror_names: список имен зеркал
@@ -221,15 +228,26 @@ def find_mirror_satellites(mirror_names: list) -> list:
if not mirror_name or mirror_name == "-": if not mirror_name or mirror_name == "-":
continue continue
# Обрезаем пробелы и приводим к нижнему регистру # Обрезаем пробелы
mirror_name_clean = mirror_name.strip().lower() mirror_name_clean = mirror_name.strip()
if not mirror_name_clean: if not mirror_name_clean or mirror_name_clean == "-":
continue
# Извлекаем первую часть имени (до скобки), если есть двойное имя
# Например: "DSN-3 (SUPERBIRD-C2)" -> "DSN-3"
if "(" in mirror_name_clean:
mirror_name_clean = mirror_name_clean.split("(")[0].strip()
# Приводим к нижнему регистру для поиска
mirror_name_lower = mirror_name_clean.lower()
if not mirror_name_lower:
continue continue
# Ищем спутники, в имени или альтернативном имени которых содержится имя зеркала # Ищем спутники, в имени или альтернативном имени которых содержится имя зеркала
satellites = Satellite.objects.filter( satellites = Satellite.objects.filter(
Q(name__icontains=mirror_name_clean) | Q(alternative_name__icontains=mirror_name_clean) Q(name__icontains=mirror_name_lower) | Q(alternative_name__icontains=mirror_name_lower)
) )
found_satellites.extend(satellites) found_satellites.extend(satellites)