Однажды наш тёплый ламповый Аниме-фест 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
Тут хранятся легаси и 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-скрипты на все случаи жизни
- Много легаси, которое давно не используется
- Много полезного, о чём тут не написано
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
- Устали от "звукач говно"?
- Работаете в режиме одного монитора и зрители видят вашу мышку?
- Надоело путать и терять треки во время шоу?
- У нас есть решение!