Repo-Tools — это набор кроссплатформенных инструментов для автоматизации рутинных задач в репозиториях. Он призван упростить управление Git-операциями, настройку окружения и систематизацию файлов (например, переименование изображений).
- Простая настройка окружения: Скрипт
start.sh
автоматически подготовит рабочее окружение для Python-приложений. - Интерактивное управление: Удобное консольное меню (
Menu
) для быстрого доступа ко всем инструментам. - Автоматизация Git-процессов: Модуль
GitOps
для выполнения рутинныхpush
иpull
без ручного ввода команд. - Систематизация файлов: Инструмент
Renamer
для автоматического переименования изображений по единому шаблону<unix-timestamp>.<ext>
.
Repo-Tools требует наличия следующих компонентов:
- Клонировать репозиторий:
git clone https://github.com/cuberbug/repo-tools cd repo-tools
- Запустить скрипт настройки
start.sh
. Он автоматически создаст виртуальное окружение и установит все необходимые зависимости (включаяrich
иquestionary
):./start.sh
- Выбрать нужный инструмент через интерактивное меню.
Это центральная точка входа в Repo-Tools. Созданное с помощью библиотек rich и questionary, оно избавляет от необходимости вспоминать команды и пути.
Главное меню позволяет:
- выполнять Git-операции (
push
/pull
) через модуль GitOps; - запускать Renamer для автоматического переименования изображений;
- быстро переключаться между режимами работы и завершать программу.
Меню автоматически определяет контекст запуска:
- Если инструмент используется как сабмодуль внутри cuberbug-walls (или другого репозитория с директорией
wallpapers
), оно предоставляет готовые пункты для автоматического запуска Renamer с корректными путями. - Если приложение запущено автономно, то директорию для запуска можно выбрать вручную.
GitOps автоматизирует два основных сценария, чтобы не приходилось вручную писать git add .
и коммитить каждый раз:
- Сохранить (
git push
): Автоматически составляет коммит со стандартным сообщением (на основе времени UTC) и отправляет его в репозиторий. - Загрузить (
git pull
): Загружает актуальное состояние удалённого репозитория.
Renamer — это скрипт на Python, который систематизирует коллекцию изображений, автоматически переименовывая все файлы (в указанной и поддиректориях) на основе времени последней модификации (Unix-timestamp).
Формат переименования: <timestamp>.<ext>
. Это обеспечивает единый стиль именования и позволяет легко сортировать коллекцию по дате сохранения.
Если этот репозиторий подключен к cuberbug-walls в качестве сабмодуля, то в меню будут доступны пункты прямого запуска Renamer для директории /cuberbug-walls/wallpapers/
. Пользователь также всегда может указать директорию вручную.
Это будет работать для любого репозитория, к которому Repo-Tools подкючен в качестве сабмодуля и в котором есть директория wallpapers
:
/cuberbug-walls/ # Репозиторий, к которому подключается repo-tools
├── tools/ # Корневая директория repo-tools
│ ├── apps/ # Директория для Python-приложений
│ │ ├── gitops/ #
│ │ ├── menu/ #
│ │ ├── renamer/ #
│ │ └── requirements.txt # Зависимости окружения
│ ├── scripts/ #
│ │ ├── decor.sh #
│ │ └── utils.sh #
│ └── start.sh #
└── wallpapers/ # Директория, к которой применяется переименование изображений