Участник:Гиперболоид инженера Мошонкина/скрипт: различия между версиями

Нет описания правки
обновление по просьбе участника Эрзац-Мужик
Строка 45: Строка 45:
         lua_output.append(f'\n        ["{lua_group_name}"] = {{')
         lua_output.append(f'\n        ["{lua_group_name}"] = {{')
         lua_output.append('            type = "group",')
         lua_output.append('            type = "group",')
        lua_output.append(f'            number_of_rounds = {legs_indicator},') # <-- ДОБАВЛЕНО ДЛЯ ГРУПП
         lua_output.append('            standings = {')
         lua_output.append('            standings = {')
         for t in teams:
         for t in teams:
Строка 69: Строка 70:
         lua_output.append('        },')
         lua_output.append('        },')


     # --- 2. Парсинг матчей на вылет (ОСТАВЛЕНО БЕЗ ИЗМЕНЕНИЙ) ---
     # --- 2. Парсинг матчей на вылет ---
     knockout_pattern = re.compile(r'\{\{И\d+\s*\|?(.*?)\}\}', re.IGNORECASE | re.DOTALL)
     knockout_pattern = re.compile(r'\{\{И\d+\s*\|?(.*?)\}\}', re.IGNORECASE | re.DOTALL)
     ko_counter = 1
     ko_counter = 1
Строка 76: Строка 77:
         body = match.group(1)
         body = match.group(1)
         parts = [p.strip() for p in body.split('|')]
         parts = [p.strip() for p in body.split('|')]
        # --- ДОБАВЛЕНО: Определяем количество кругов для плей-офф ---
        ko_rounds = 1
        for i in range(0, len(parts), 5):
            chunk = parts[i:i+5]
            if len(chunk) >= 3:
                base_scores = chunk[2].split('(')[0] # отсекаем пенальти/доп.время для проверки
                if ',' in base_scores:
                    ko_rounds = 2
                    break
        # -------------------------------------------------------------


         lua_output.append(f'\n        ["Knockout_Stage_{ko_counter}"] = {{')
         lua_output.append(f'\n        ["Knockout_Stage_{ko_counter}"] = {{')
         lua_output.append('            type = "knockout",')
         lua_output.append('            type = "knockout",')
        lua_output.append(f'            number_of_rounds = {ko_rounds},') # <-- ДОБАВЛЕНО ДЛЯ ПЛЕЙ-ОФФ
         lua_output.append('            matches = {')
         lua_output.append('            matches = {')
         ko_counter += 1
         ko_counter += 1
Строка 147: Строка 160:
if __name__ == "__main__":
if __name__ == "__main__":
     # Сюда вписываем нужный префикс. Если оставить "", будет работать как раньше.
     # Сюда вписываем нужный префикс. Если оставить "", будет работать как раньше.
     PREFIX = "BB"  
     PREFIX = "1R"  
      
      
     data = """
     data = """
    {{Группа 3-А1|
    G|КИР|2:0|3:3|
    G|ЦАР|0:2|4:2|
    R|ДОМ|3:3|2:4}}


    {{Группа 3-А1|
    G|СЕН|3:3|8:3|
    G|ТЕР|3:3|3:2|
    R|МРТ|3:8|2:3}}
     """
     """