#!/usr/bin/env python3
"""Gera a pagina do FredyGames a partir do GameDefinition/index.html do LambdaHack: tira os de icones/manifesto
(arquivos que nao vao na build) e o link para o GitHub, poe uma CSP sem rede externa e o fetch que troca LambdaHack.wasm por
LambdaHack.wasm.gz (30 MB; o CloudFront nao comprime acima de 10 MB). Como o jogo tem tamanho fixo (a grade de 80 colunas de 16 px
passa de 1280 px) e o player e menor, a pagina tira o banner e reduz tudo com CSS transform para caber na largura da janela (o
mouse do jogo usa getBoundingClientRect, entao acompanha a escala); em tela cheia a escala e do proprio jogo. Uso: index.html.py """
import re, sys
src = open(sys.argv[1], encoding="utf-8").read()
n = len(re.findall(r'^\s*]*>\s*$', src, re.M))
src = re.sub(r'^\s*]*>\s*\n', '', src, flags=re.M)
assert n == 5, n
src = src.replace('\n', '')
old = '''PLAYING.'''
assert old in src
src = src.replace(old, 'PLAYING.md in the source.')
csp = ('\n'
' \n'
' \n')
marker = '\n'
assert marker in src
src = src.replace(marker, marker + ' ' + csp, 1)
fit_css = """ #banner { display: none; }
html, body { overflow: hidden; }
#wrap { width: max-content; min-width: 100%; transform-origin: 0 0; }
"""
assert '' in src
src = src.replace(' ', fit_css + ' ', 1)
assert '' in src and '' in src
src = src.replace('', '\n