From abed7bf9cbe26815aecd25fde9af1df6b307e3fc Mon Sep 17 00:00:00 2001 From: DYefremov Date: Sun, 11 Feb 2024 16:30:40 +0300 Subject: [PATCH] bouquet name gen refactoring --- app/ui/main.py | 9 +-------- app/ui/main_helper.py | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/app/ui/main.py b/app/ui/main.py index e9b94bf9..30e3d9a3 100644 --- a/app/ui/main.py +++ b/app/ui/main.py @@ -1543,14 +1543,7 @@ class Application(Gtk.Application): return bq_type = model.get_value(itr, Column.BQ_TYPE) - bq_name = "bouquet" - count = 0 - key = f"{bq_name}:{bq_type}" - # Generating name of new bouquet. - while key in self._bouquets: - count += 1 - bq_name = f"bouquet{count}" - key = f"{bq_name}:{bq_type}" + bq_name = gen_bouquet_name(self._bouquets, "bouquet", bq_type) response = show_dialog(DialogType.INPUT, self._main_window, bq_name) if response == Gtk.ResponseType.CANCEL: diff --git a/app/ui/main_helper.py b/app/ui/main_helper.py index ffa19a7a..2c6eefa5 100644 --- a/app/ui/main_helper.py +++ b/app/ui/main_helper.py @@ -34,7 +34,7 @@ __all__ = ("insert_marker", "move_items", "rename", "ViewTarget", "set_flags", " "get_model_data", "remove_all_unused_picons", "get_picon_pixbuf", "get_base_itrs", "get_iptv_url", "get_iptv_data", "update_entry_data", "append_text_to_tview", "on_popup_menu", "get_picon_file_name", "update_toggle_model", "update_popup_filter_model", "update_filter_sat_positions", "get_pos_num", - "show_info_bar_message") + "show_info_bar_message", "gen_bouquet_name") import os import re @@ -686,6 +686,19 @@ def get_bouquets_names(model): return bouquets_names +def gen_bouquet_name(bouquets, base_name, bq_type): + """ Generates a name for new bouquets. """ + count = 0 + key = f"{base_name}:{bq_type}" + bq_name = base_name + while key in bouquets: + count += 1 + bq_name = f"{base_name}{count}" + key = f"{bq_name}:{bq_type}" + + return bq_name + + def get_services_type_groups(services): """ Returns services grouped by main types [TV, Radio, Data]. -> dict """