ChernovDev
1.26K subscribers
610 photos
33 videos
159 files
833 links
Эй ай и вот это вот всё. Qlik
https://chernovdev.ru/docs
Download Telegram
#qs #python #partial
В общем, придумал тут кое что ...

У нас есть мега-скрипт в приложении...
В котором load, drop , store и так далее, например там 2к строк ...

Внутри скрипта создаем "блоки", например так:

//$$SCRIPTPART|stage1|Первый блок кода скрипта
//$$
тут наши процедуры ...

//$$SCRIPTPART|stage2|Второй блок кода скрипта
//$$
тут наши процедуры 2...

//$$SCRIPTPART|stageN|N блок кода скрипта
//$$
тут наши процедуры N...

Далее, запоминаем GUID этого приложения и пихаем в python-скрипт, который:

1. Забирает весь код приложения
2. Создает словарь отдельных блоков скрипта
3. Запускает цикл по всем блокам
3.1. Создает приложение с именем которое было в изначальном приложении + "#тут_наш_тэг" (например stage1, stage2, stageN)
3.2. Сохраняет приложение
4. Публикует в нужный стрим
5. Создает цепочку тасков на релоад в правильной последовательности.

Параметры которые можно передавать в скрипт:
- AppID [GUID] - Уникальный идентификатор нашего приложения
-publish [GUID стрима] = публикует все этапы в нужный стрим
- replace - в случае, если уже есть приложения в стримах - перезаписывает их
- reload - после сохранения делает последовательный релоад всех этапов
- remove - удаляет все этапы в заданном стриме. Приоритетный параметр, который работает только если есть App GUID + Stream GUID, отключает все остальные параметры
- createtasks - создает в QMC нужные таски, и создает для них последовательность выполнения исходя из кода скрипта
- tagapps - задаёт тэги для приложений
- tagtasks - задает тэги для тасков

Нужно кому то такое ? :)