-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
сравнение картинок по тегам #139
Comments
|
Поможет выявлять общие теги в данной конкретной связке и проследить, что бы нигде ничего не было забыто, а что НЕ нужно на связанных картинках - было корректно удалено. |
Я в таки случаях сначала тегирую самую детализированную/полную картинку, затем копирую теги на остальные и убираю лишние, добавляю нужные. |
связки могут быть и более сложными, чем меняющаяся одежда и (или) фон. Сейчас такой инструмент действительно будет излишний, но в будущем что-то подобное уже может понадобиться |
Кривое, но кое как работает. На данный момент можно скопировать теги описания только гелбуру. Для работы нужна библиотека для буфера обмена import re, pyperclip
# Функция для обработки сырых тегов скопированных с сайтов
def process_raw_text(data):
# Удаление лишних слов и фильтры
words_to_remove = ["копирайт (продукт)", "ярлык", "reference", "object", "автор", "персонаж", "описание", "иной копирайт", "игровой копирайт", "объект", "Artist", "Copyright", "Character", "Metadata", "Tag"]
for word in words_to_remove:
data = re.sub(r'\b{}\b'.format(re.escape(word)), '', data)
data = re.sub(r'\s{2,}', ' ', data) # Удаляем лишние пробелы после удаления слов
data = re.sub(r'\d+K', '||', data) # Удаление цифр с К
data = re.sub(r'(?<!\bgirls)\b\d+\b', '||', data) # +-умное удаление цифр без К
data = re.sub(r'(\r?\n)', '', data) # Удаляет абзац
data = re.sub(r'\?', '', data) # Удаляет знак "?" c буру
data = re.sub(r'_', ' ', data) # Замена знака "_" на пробел
data = re.sub(r'\s*\|\|\s*', '||', data) # Удаление пробелов перед и после ||
return data
# Функция для ввода текста щёлкнуть enter
def input_text(prompt):
input(prompt)
return pyperclip.paste()
# Обработка сырых тегов
text1 = input_text("Enter для вставки 1")
text2 = input_text("Enter для вставки 2")
end_text1 = process_raw_text(text1)
end_text2 = process_raw_text(text2)
# Дальнейшая обработка тегов с разделителем ||
words1 = set(end_text1.split("||"))
words2 = set(end_text2.split("||"))
unique_words_in_text1 = words1.difference(words2)
unique_words_in_text2 = words2.difference(words1)
# Вывод уникальных тегов
print("\nТеги только в первом источнике:")
print("||".join(unique_words_in_text1))
print("\nТеги только во втором источнике:")
print("||".join(unique_words_in_text2))
input("\nEnter для выхода...") |
1 картинка главная, другие сравниваются с ней на предмет отличий и совпадений тегов.
Поможет при работе в связках, а кнопку вызова функции логично поместить в само окно "Связанные картинки". Для работы брать данные именно из него же.
Грубый пример
The text was updated successfully, but these errors were encountered: