Пофиксил умена зеркал при добавлении
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user