from modules.utils.tag_utils import clean_tags_underscore, unique_and_sort_tags from modules.managers.rule_manager import apply_replacements, apply_synonym_consolidation, apply_additions class TaggerProcessor: def __init__(self, replacement_file_path, synonym_file_path, addition_file_path): self.replacement_file = replacement_file_path self.synonym_file = synonym_file_path self.addition_file = addition_file_path def process_tags(self, raw_tags_string, sort_order="Alfabetik", original_order_ref=None): cleaned = clean_tags_underscore(raw_tags_string) replaced = apply_replacements(cleaned, self.replacement_file) consolidated = apply_synonym_consolidation(replaced, self.synonym_file) final_tags = unique_and_sort_tags(consolidated, sort_order, original_order_ref) # Ekleme Kurallarını en son uygula (Listenin sonuna ekler) final_tags_with_additions = apply_additions(final_tags, self.addition_file) return final_tags_with_additions