summaryrefslogtreecommitdiffstats
path: root/contrib/python/matplotlib-inline/matplotlib_inline
diff options
context:
space:
mode:
authoratarasov5 <[email protected]>2026-05-20 11:09:21 +0300
committeratarasov5 <[email protected]>2026-05-20 11:36:16 +0300
commit7610b2d650b671e194c00a54ec5a7950ae81e957 (patch)
tree52e7a96d2c18e42ab9ee44d95b292b653750c563 /contrib/python/matplotlib-inline/matplotlib_inline
parent22fa9f58b3d741847907a1263cb5f0ad30106a18 (diff)
YQL-19813: Save and load qplayer
**Режим capture** (qContext.CanWrite()) 1. Проходим по всем элементам source с индексом idx. 2. Для каждого элемента вызываем filter(item) ровно один раз (фильтр может иметь побочные эффекты — например, запись статистики об активации). 3. Элементы, прошедшие фильтр, добавляются в возвращаемый результат. 4. Сохраняем индексы всех прошедших фильтр элементов в QStorage в формате V2: \{"version": "v2", "indexes": \[0, 2, 5, ...\]\} --- **Режим replay** (qContext.CanRead()) 1. Читаем YSON-запись из QStorage по ключу \{Component="Activation", Label=label\}. 2. Определяем версию формата по наличию ключа "version": **Формат V1** (старый, обратная совместимость) — ключ "version" отсутствует: - Структура: \{"имя\_флага": сериализованный\_proto, ...\} - Десериализуем каждый флаг через ParseFromString, возвращаем список напрямую. - Фильтр не вызывается. Список source игнорируется. **Формат V2 (текущий)** — "version": "v2": - Структура: \{"version": "v2", "indexes": \[0, 2, 5, ...\]\} - Читаем сохранённое множество индексов. - Проходим по source с *индексом* idx: - Элемент без условия активации (!HasActivation()) → всегда включается (такие элементы не зависят от активации). - Элемент с условием активации (HasActivation()) → включается только если его idx есть в сохранённом множестве. - Фильтр не вызывается. commit_hash:306113465bcd614cd3c0cd311ab20542d1f8e254
Diffstat (limited to 'contrib/python/matplotlib-inline/matplotlib_inline')
0 files changed, 0 insertions, 0 deletions