From 2f275eeb54abf2d94af7f2aac816455e0ee35528 Mon Sep 17 00:00:00 2001 From: ViktorSemericov Date: Wed, 29 Oct 2025 15:51:45 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20database.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- database.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/database.py b/database.py index ef4dd71..1967029 100644 --- a/database.py +++ b/database.py @@ -27,11 +27,19 @@ def search_database(database_file, query): any_mode = True else: any_mode = False + + if 'MULTI' in tag_group: + tag_group.remove('MULTI') + multi_mode = True + else: + multi_mode = False + for tag in tag_group: if tag not in tag_mapping: tag_mapping[tag] = { 'priority': priority_group_idx, - 'tag_number': tag_counter + 'tag_number': tag_counter, + 'multi': multi_mode } if not any_mode: tag_counter += 1 @@ -60,7 +68,7 @@ def search_database(database_file, query): results.append(result_entry) # Сортируем по приоритету - tag_priority = {v['tag_number']: v['priority'] for v in tag_mapping.values()} + tag_priority = {v['tag_number']: (v['priority'],v['multi']) for v in tag_mapping.values()} # Then verify no conflicts if len(set((v['tag_number'], v['priority']) for v in tag_mapping.values())) != len(tag_priority): raise ValueError("Conflicting priorities for same tag_number")