#!/usr/bin/env python3 """Prepara a pagina (HTML unico de export do Bitsy) de um jogo: aplica as mudancas nossas e poe uma CSP. uso: make.py [ ]""" import re, sys slug, src, out = sys.argv[1:4] page = open(src, encoding='utf-8').read().replace('\r\n', '\n') def cut(pattern, flags=re.S, count=1): global page page, n = re.subn(pattern, '', page, flags=flags) assert n == count, (pattern, n) if slug == 'left-undetected': # sem os links do rodape (repositorio, itch, Twitter e site do autor) cut(r'
.*?
\n\n') elif slug == 'a-cozy-winterwalk': # sem a trilha de fundo, que o jogo tocava de um video do YouTube (script externo, musica de terceiros) cut(r' \n \n\n') cut(r' \n') cut(r'\n') assert 'youtube' not in page.lower() csp = ("default-src 'none'; script-src 'unsafe-inline' 'unsafe-eval'; style-src 'unsafe-inline'; img-src data: blob:; " "media-src data: blob:; font-src data:; connect-src 'self'") assert page.count('') == 1 page = page.replace('', '\n' % csp, 1) open(out, 'w', encoding='utf-8', newline='\n').write(page) if len(sys.argv) > 4: data = open(sys.argv[4], encoding='utf-8').read().replace('\r\n', '\n') if slug == 'left-undetected': old = 'LEFT UNDETECTED{br}by MILDMOJO{br}Twitter: @mildmojo{br}Web: mildmojo.com' assert data.count(old) == 1 data = data.replace(old, 'LEFT UNDETECTED{br}by MILDMOJO') open(sys.argv[5], 'w', encoding='utf-8', newline='\n').write(data)