INNER CODE UNIT · Python
begin
unitedrhino/things · scripts/generate-energy-demo-svg.py:91
begin = index * frame_seconds
lines.extend(
[
f' <image width="{width}" height="{height}" visibility="{base_visibility}" href="data:image/jpeg;base64,{encoded}">',
(
' <animate attributeName="visibility" '
f'values="visible;hidden;hidden" keyTimes="0;{visible_until:.8f};1" '
f'begin="{begin:.1f}s" dur="{demo.duration}s" repeatCount="indefinite" calcMode="discrete"/>'
),
" </image>",
]
)
lines.append("</svg>")
output.write_text("\n".join(lines) + "\n", encoding="utf-8")
if output.stat().st_size > MAX_SVG_BYTES:
raise RuntimeError(f"{output.name} 超过 5 MB:{output.stat().st_size} bytes")
tree = ET.parse(output)