Skip to content

Dmitriy-OLW/Python-mini-Programs

Repository files navigation

Python-mini-Programs

My mini-programs that I wrote while learning Python or to automate small tasks.

Quick Navigation

English Documentation Русская документация
Manga Local Browser Manga Local Browser (Русский)
Zero-Protocol Game Zero-Protocol (Русский)
Discord Bot Discord Bot (Русский)
Parser Test & Parser Test (Русский)

Manga Local Browser programs

Documentation for Manga Local Browser Software Suite

A set of programs for organizing and viewing local collections of manga, comics, and images. These applications are designed for cataloging directories using tags, with search functionality based on previously assigned tags.

Included Programs

1. directory_tree.py

Purpose: Displays a tree-like structure of directories starting from the current folder.

Usage:

  1. Launch the program from the command line
  2. The program will automatically display the directory tree starting from the script's location
  3. Press any key to exit

Features:

  • Support for Cyrillic file and folder names
  • Automatic skipping of inaccessible directories
  • Clear visualization using pseudographic symbols

2. MK14_Visual_Novel_Manga.py

Purpose: Main application for viewing and organizing manga collections.

Description:

Core Features:

  • Image and PDF viewing
  • Metadata management (tags, descriptions)
  • Tag-based filtering
  • Theme support (light/dark)
  • Sorting by name and date
  • Thumbnail previews
  • Image zooming

Usage:

  1. Launch the program to open the main window
  2. Specify the root collection folder (using "Browse" button)
  3. Navigation:
    • Click on folder - enter folder
    • Click on image - open in viewer
    • "↑ Up" button - move one level up
  4. In image viewer:
    • Use "◄ Previous"/"Next ►" buttons or keyboard arrows (←/→ or A/D) for navigation
    • Mouse wheel - zoom image
    • Middle/right mouse button - drag zoomed image
    • "+ Zoom In"/"- Zoom Out" buttons for precise zoom control
  5. Metadata editing:
    • Click "✏️" on folder thumbnail
    • Enter description and tags (comma-separated)
    • Save changes
  6. Search and filtering:
    • Click "Filter by tags" to search folders by tags. Select desired tags and click "Show list".
    • In the folder list, use "Open" button to navigate.
    • Sorting by name or date available via corresponding buttons.
  7. Additional functions:
    • "Open random directory" button for quick access to random folders
    • "Hide image" in viewer adds file to hidden list (file remains on disk but won't display). Hidden files are stored in hidden_files.json and can be manually restored.
    • "Delete file" option permanently removes files from disk.
    • Emergency exit: ` (BackSpace/~) key - closes program without saving current session.
    • Theme switching: "Switch theme" button toggles between light and dark themes.
    • Supported formats: images (JPG, PNG, GIF, BMP, WebP), PDF, video (MP4, AVI, MKV, MOV) and HTML files.

Hotkeys:

  • ` (~) or BackSpace - emergency exit (clears settings)
  • In viewer mode:
    • A/D or ←/→ - image navigation

Additional Notes:

  • Supported formats: JPG, PNG, GIF, BMP, WEBP, PDF, HTML
  • Video formats (MP4, AVI, MKV, MOV) are displayed but require system video player
  • Settings saved in viewer_config.json
  • Hidden files stored in hidden_files.json
  • Folder metadata saved in folder_metadata.json

3. Teg_format_String.py

Purpose: Tag string generator for use with the main application.

Usage:

  1. Launch the program
  2. Click "Select tag file" and choose a text file (.txt format - file should contain one tag per line, sample file provided)
  3. Select desired tags using checkboxes
  4. Click "Generate string"
  5. Copy result to clipboard if needed ("Copy string")

Features:

  • Remembers last opened file
  • Supports mouse wheel scrolling
  • Ignores lines containing "::" and empty lines
  • Automatic tag string formatting

Additional Information

Requirements

  • Python 3.x
  • Required libraries:
    pip install pillow pymupdf pyperclip tk
    

Tips

  1. For main application, organize collection in folder hierarchy
  2. In TagApp, store tags in simple text files (one per line)
  3. Main application allows quick hiding of unwanted images (without deletion)
  4. Recommended to use dark theme

Limitations

  • Performance may degrade with very large numbers of files

//--------------------------------------------------------------------------------------------------------------------

Документация для программ Manga Local Browser

Набор программ для организации и просмотра локальной коллекции манги, комиксов и изображений. Программы используются для каталогизации директорий по тегам, с возможностью поиска по ранее установленным тегам.

Программы в составе

1. directory_tree.py

Назначение: Отображает древовидную структуру директорий начиная с текущей папки.

Как использовать:

  1. Запустите программу из командной строки
  2. Программа автоматически отобразит дерево каталогов, начиная с папки, где находится скрипт
  3. Для выхода нажмите любую клавишу

Особенности:

  • Поддержка кириллических имен файлов и папок
  • Игнорирование директорий без прав доступа
  • Наглядное отображение структуры с помощью символов псевдографики

2. MK14_Visual_Novel_Manga.py

Назначение: Основная программа для просмотра и организации коллекции манги.

Описание:

Основные функции:

  • Просмотр изображений и PDF
  • Управление метаданными (теги, описания)
  • Фильтрация по тегам
  • Поддержка тем (светлая/темная)
  • Сортировка по имени и дате
  • Просмотр миниатюр
  • Масштабирование изображений

Как использовать:

  1. Запустите программу - откроется главное окно
  2. Укажите корневую папку с коллекцией (кнопка "Обзор")
  3. Навигация:
    • Клик по папке - переход в папку
    • Клик по изображению - открытие в просмотрщике
    • Кнопка "↑ Наверх" - переход на уровень выше
  4. В просмотрщике изображений:
    • В просмотрщике используйте кнопки "◄ Предыдущее"/"Следующее ►" или стрелки клавиатуры (←/→ или A/D) для навигации
    • Колесико мыши - масштабирование изображения
    • Средняя/правая кнопка мыши - перетаскивание изображения при увеличении
    • Кнопки "+ Увеличить"/"- Уменьшить" для точного контроля масштаба.
  5. Редактирование метаданных:
    • Нажмите кнопку "✏️" на миниатюре папки
    • Введите описание и теги (через запятую)
    • Сохраните изменения
  6. Поиск и фильтрация:
    • Нажмите "Фильтр по тегам" для поиска папок по тегам. Выберите нужные теги и нажмите "Показать список".
    • В открывшемся списке папок используйте кнопку "Открыть" для перехода.
    • Сортировка по имени или дате доступна через соответствующие кнопки в главном окне и просмотрщике.
  7. Дополнительные функции:
    • Кнопка "Открыть случайный каталог" позволяет быстро перейти в случайную папку
    • В просмотрщике нажмите "Скрыть изображение", чтобы добавить файл в скрытые (файл останется на диске, но не будет отображаться в программе). Скрытые файлы хранятся в hidden_files.json и могут быть восстановлены вручную.
    • Опция "Удалить файл" полностью удаляет файл с диска.
    • Экстренный выход: кнопка или клавиши ` (BackSpace/ё) — закрывает программу без сохранения текущей сессии.
    • Смена темы: кнопка "Сменить тему" переключает между светлой и тёмной темой.
    • Поддержка форматов: изображения (JPG, PNG, GIF, BMP, WebP), PDF, видео (MP4, AVI, MKV, MOV) и HTML-файлов.

Горячие клавиши:

  • ` (ё) или BackSpace - экстренный выход (удаляет настройки)
  • В режиме просмотра:
    • A/D или ←/→ - навигация по изображениям

Дополнительно:

  • Поддерживаемые форматы: JPG, PNG, GIF, BMP, WEBP, PDF, HTML
  • Формат видео (MP4, AVI, MKV, MOV) отображается, но запускается за счёт програм просмотра ПК
  • Настройки сохраняются в viewer_config.json
  • Скрытые файлы сохраняются в hidden_files.json
  • Метаданные папок сохраняются в folder_metadata.json

3. Teg_format_String.py

Назначение: Генератор строк тегов для использования в основной программе.

Как использовать:

  1. Запустите программу
  2. Нажмите "Выбрать файл с тегами" и выберите текстовый файл, (Тип файла .txt _ Файл должен содержать список тегов по одному на строку - так же предоставлен пример файла с тегами)
  3. Отметьте нужные теги чекбоксами
  4. Нажмите "Сформировать строку"
  5. При необходимости скопируйте результат в буфер ("Копировать строку")

Особенности:

  • Запоминает последний открытый файл
  • Поддержка прокрутки колесиком мыши
  • Игнорирует строки с "::" и пустые строки
  • Автоматическое форматирование строки тегов

Дополнительная информация

Требования

  • Python 3.x
  • Установленные библиотеки:
    pip install pillow pymupdf pyperclip tk
    

Советы

  1. Для основной программы рекомендуется структурировать коллекцию по папкам
  2. Теги в TagApp лучше хранить в простом текстовом файле (по одному на строку)
  3. В основной программе можно быстро скрывать ненужные изображения (без удаления)
  4. Советую использовать тёмную тему.

Ограничения

  • При очень большом количестве файлов возможны задержки

Zero-Protocol

My first Python game / Text role-playing - space strategy.

This is my very first game written in Python, is a console application, and is a stats calculator for one of the five teams.
This is just a tool that helps the master in conducting the game.
The rules of the game and the old versions are also attached.
The plans were to make a small online game for Discord based on this concept.
If someone gets inspired by this concept and decides to finish it, contact me, and together we will create a full-fledged game.

//-----------------------------------------------------------------------------------------------------------------------------

zero-protocol_Ru

Это моя самая первая игра написанная на Python, является консольным приложением, и является калькулятором статов у одной из пяти команд.
Это всего лишь инструмент помогающий мастеру в проведении игры.
Правила игры и старые версии также приложены.
В планах было на основе этой концепции сделать небольшую онлайн игру для Discord.
Если кто-то вдохновится этой концепцией и решит её доделать, свяжитесь со мной, и мы вместе создадим полноценную игру.

Discord-Bot-for-TRP

Discord Bot for text role-playing

This is a Discord bot for text roleplaying or D&D.
The bot is simple, but I decided that it is also worthy of attention.
The functionality of the bot is a team !help, !dice - roll the D12 die and !do - check the ability to do an action.
Maybe someday I'll go back to text-based role-playing.

//--------------------------------------------------------------------------------------------------------------------

discord-bot-for-trp_Ru

Это Discord bot для текстовых ролёвок или D&D.
Бот простой, но я решил, что он тоже достоин внимания.
Функционал бота команда !help, !dice - бросок кубика D12 и !do - проверка возможности сделать действие.
Может когда-то я вернусь к текстовым ролёвкам.

Parser_Test

Test site parser.

My first site parser, for the test.

//--------------------------------------------------------------------------------------------------------------------

Мой первый парсер сайта, для теста.

About

My mini-programs that I wrote while learning Python or to automate small tasks.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages