Character Card CLI — это мощный инструмент командной строки для управления и каталогизации метаданных "карт персонажей", хранящихся в PNG-файлах. Он использует оптимизированную базу данных SQLite для быстрого доступа, поиска и управления большими коллекциями карт.
- Быстрое сканирование: Эффективно сканирует папки с PNG-файлами и обновляет базу данных.
- Продвинутый поиск: Фильтрация по имени файла, автору и тегам с использованием простого синтаксиса.
- Гибкий вывод: Просмотр данных в различных форматах: обычный текст, CSV, JSON, и таблицы.
- Группировка и сортировка: Организация списка карт по автору, тегам или имени.
- Управление картами: Команды для экспорта метаданных, дублирования, копирования и безопасного удаления карт.
- Статистика: Получение статистики по коллекции, такой как общее количество карт, уникальных авторов и тегов.
-
Python 3.6+
-
Зависимости: Установите необходимые библиотеки с помощью pip:
pip install -r requirements.txt
Перед началом работы необходимо просканировать папку с вашими картами для создания или обновления базы данных (cards.db).
python card_viewer.py --folder /путь/к/вашим/картам scan--force- принудительное полное пересканирование всех файлов.--quiet- минимальный вывод в консоль.
Команда list (используется по умолчанию) позволяет просматривать вашу коллекцию.
Примеры:
- Простой список всех карт:
python card_viewer.py --folder /путь/к/картам
- Сортировка по автору:
python card_viewer.py --folder /путь/к/картам list --sort creator
- Группировка по тегу:
python card_viewer.py --folder /путь/к/картам list --group tag
- Вывод в формате JSON:
python card_viewer.py --folder /путь/к/картам list --format json
Используйте флаг --filter для поиска карт. Синтаксис: "текст @автор #тег1,тег2"
- Найти карты, содержащие "elf" в имени, от автора "anon":
python card_viewer.py --folder /п/к/к --filter "elf @anon" - Найти карты с тегом "magic":
python card_viewer.py --folder /п/к/к --filter "#magic"
Показывает подробную информацию о карте.
- Показать краткую информацию о конкретном файле:
python card_viewer.py --folder /п/к/к --file "my_character.png" show - Показать полную информацию:
python card_viewer.py --folder /п/к/к --file "my_character.png" show --full
export: Экспорт метаданних в.jsonфайлы.duplicate: Создание копий карт.copy: Копирование карт в другую директорию.delete: Безопасное удаление карт с подтверждением.stats: Показать статистику по базе данных.
База данных cards.db состоит из трех основных таблиц:
cards: Основная таблица, содержащая всю информацию о карте.tags: Таблица для хранения уникальных тегов.card_tags: Связующая таблица для отношений "многие ко многим" между картами и тегами.
- Графический интерфейс: Создание простого GUI для более удобного взаимодействия.
- Конфигурационный файл: Вынесение всех настроек в
config.ini. - Автоматическое тестирование: Написание тестов для обеспечения стабильности кода.
- Поддержка других форматов: Расширение функционала для поддержки других форматов карт (например, WebP).
- Плагины: Архитектура плагинов для расширения функциональности.