diff --git a/scripts/tag_autocomplete_helper.py b/scripts/tag_autocomplete_helper.py index 6350b80..3a805c8 100644 --- a/scripts/tag_autocomplete_helper.py +++ b/scripts/tag_autocomplete_helper.py @@ -419,6 +419,7 @@ def on_ui_settings(): "tac_showWikiLinks": shared.OptionInfo(False, "Show '?' next to tags, linking to its Danbooru or e621 wiki page").info("Warning: This is an external site and very likely contains NSFW examples!"), "tac_showExtraNetworkPreviews": shared.OptionInfo(True, "Show preview thumbnails for extra networks if available"), "tac_modelSortOrder": shared.OptionInfo("Name", "Model sort order", gr.Dropdown, lambda: {"choices": list(sort_criteria.keys())}).info("Order for extra network models and wildcards in dropdown"), + # Frequency sorting settings "tac_frequencySort": shared.OptionInfo(True, "Locally record tag usage and sort frequent tags higher").info("Will also work for extra networks, keeping the specified base order"), "tac_frequencyFunction": shared.OptionInfo("Logarithmic (weak)", "Function to use for frequency sorting", gr.Dropdown, lambda: {"choices": list(frequency_sort_functions.keys())}).info("; ".join([f'{key}: {val}' for key, val in frequency_sort_functions.items()])), "tac_frequencyMinCount": shared.OptionInfo(3, "Minimum number of uses for a tag to be considered frequent").info("Tags with less uses than this will not be sorted higher, even if the sorting function would normally result in a higher position."), diff --git a/scripts/tag_frequency_db.py b/scripts/tag_frequency_db.py index c0fae9d..cee0623 100644 --- a/scripts/tag_frequency_db.py +++ b/scripts/tag_frequency_db.py @@ -113,7 +113,10 @@ class TagFrequencyDb: ) tag_count = cursor.fetchone() - return tag_count[0], tag_count[1] if tag_count else 0 + if tag_count: + return tag_count[0], tag_count[1] + else: + return 0, None def get_tag_counts(self, tags: list[str], ttypes: list[str], negative=False): count_str = "count_neg" if negative else "count_pos" @@ -128,7 +131,10 @@ class TagFrequencyDb: (tag, ttype), ) tag_count = cursor.fetchone() - yield (tag, ttype, tag_count[0], tag_count[1]) if tag_count else (tag, ttype, 0) + if tag_count: + yield (tag, ttype, tag_count[0], tag_count[1]) + else: + yield (tag, ttype, 0, None) def increase_tag_count(self, tag, ttype, negative=False): pos_count = self.get_tag_count(tag, ttype, False)[0]