Skip to content

My humble bunch of scripts to automate different things on cosplay2.ru (and in general event management)

Notifications You must be signed in to change notification settings

Himura2la/Cosplay2-Automation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b5c9b12 · Mar 22, 2025
Jul 13, 2024
Jan 12, 2025
Mar 22, 2025
Mar 22, 2025
Dec 8, 2021
Jun 14, 2018
Nov 20, 2016
Jan 25, 2024
Jun 7, 2023
Feb 14, 2021
Jan 31, 2025
Dec 22, 2023
Jan 25, 2023
Dec 29, 2024
Mar 28, 2021
Jan 25, 2023
Feb 6, 2023
Jan 26, 2025
Aug 17, 2023

Repository files navigation

Предыстория

Однажды наш тёплый ламповый Аниме-фест Yuki no Odori решил переехать на убер-крутую платформу для организации Аниме-фестов Cosplay2. Мы начали принимать заявки, а потом выяснилось, что программа Генератор слайдов, которая по идее призвана скачивать файлы участников не очень то работает... А еще, очень очень хотелось иметь все данные заявок данные в одной базе данных, чтобы писать к ней SQL-запросы и генерировать всякие полезные списки (встроенная генерилка списков гибкостью не блещет). Так и родился этот репозиторий.

Основные скрипты

  • backup-data.py
    • Резервное копирование данных фестиваля
    • Автоматическая валидация частых ошибок
    • Запускается через cron каждый день
  • get-data.py
    • Загрузка всех данных из всех заявок на фестиваль.
    • Генерация базы данных SQLite из этих данных.
  • get-scene-files.py, get-exhibition-fotos.py
    • Загрузка всех файлов из всех заявок.
    • Для каждой номинации своя папка
    • Для сбора всех файлов в одну папку для FestEngine, применяется скрипт extract-files.py
    • Имена файлов составляются из номера заявки и названия карточки. Если у вас нет названий карточек, сгенерируйте их или нагородите LEFT JOIN'ов в SQL (не рекомендуется, но вот пример).
  • image_list_gen.py
    • Генерилка списка путей к картинкам для вставки в CSV файл, который используется для определения переменных фотошопе при генерации задников.
    • Если вы ничего не поняли, начните отсюда. Или не начинайте, а сразу переходите на InDesign.
  • mktex.py
    • Открытая часть нашего с @Oreolek секретного проекта для фотовыставки.
    • Пишите в Gitter за подробностями.

Папка etc

Тут хранятся легаси и ad-hoc скрипты для специфических задач.

  • gimp-scripts -- попытки привнести в GIMP работу с переменными данными. Использовалось только на одном фесте, а потом я узнал про переменные в фотошопе. А потом, про InDesign.
  • checker.py -- скрипт, проверяющий все ли файлы на месте (обязательно перепровертье вручную в самом конце, это архи-важно. Я два феста подряд просерал AMV-шки из за пренебрежения ручной проверкой. А в последнее время всё гладко). Возможно легаси, вроде бы там сейчас на каждом шагу проверки и в основных скриптах.
  • compare_folders.py -- скрипт сверки папок, можете заменить на meld или обычный diff. А можете, нет.
  • regex_renamer.py -- переименователь по регэкспам, можно заменить на GNU reanme. Но не нужно.
  • sql_query.py -- выполняет SQL-запрос в указанной базе SQLite. Там есть одна очень полезная фича -- делать плоские тексты с длинными полями, для пожеланий по стаффу волонтёрам и светосценариев.
  • csv_renamer.py -- для фестов, которые не через к2. Делает имена файлов для FestEngine из таблицы
  • festival_plan-parser.py -- скрипт для парсинга файла festival_plan.xls из планировщика расписания и выгрузки текста, готового к публикации, а также чистого CSV исключительно с номерами. Подробнее.
  • tickets-gen.py -- Генератор кодов, похожих на коды электронных билетов для использования в бумажных билетах.
  • SQL-скрипты на все случаи жизни
  • Много легаси, которое давно не используется
  • Много полезного, о чём тут не написано

Virtual Environment

python3 -m venv .venv
. .venv/bin/activate
pip install --upgrade PyYAML tabulate youtube-dl vk

Как запускать

  • Cкопировать config.yml.example в config.yml и отредактировать под себя. Там есть комментарии.
  • Создать папку домен_фестиваля, указать её в конфиге
  • Запустить python3 get_data.py
  • Проверить, что всё в порядке.

Если стрёмно хранить пароль админа без шифрования, можно его не вводить в конфиге, тогда программа будет сама спрашивать (не чаще 1 раза в ~10 минут).

Благодарности

  • Евгений Политов за создание и посильную поддержку сайта Cosplay2. Всегда донатьте ему до и после феста по мере масштабов и окупаемости.
  • @Oreolek за вклад в автоматизацию на фестах и конвентах!

Смежные проекты

  • FestEngine
    • Устали от "звукач говно"?
    • Работаете в режиме одного монитора и зрители видят вашу мышку?
    • Надоело путать и терять треки во время шоу?
    • У нас есть решение!

About

My humble bunch of scripts to automate different things on cosplay2.ru (and in general event management)

Resources

Stars

Watchers

Forks

Packages

No packages published