#!/usr/bin/env python3 """Descarga un pasaje bíblico en EN/FR/IT/PT desde bolls.life (issue #88). NO traducir la Biblia con LLM: descargar versiones oficiales. Edita BOOK/CH/V0/V1 y TR según el pasaje. Salida JSON {lang: html} a /tmp/lecturas_.json Traducciones usadas (carta 46956, Mateo 10,26-33): EN=DRB (católica), PT=CNBB (católica), IT=NR06 (única moderna IT), FR=BDS. Libros bolls: Mateo=40. Ver languages.json del sitio. """ import json, urllib.request, re, sys TR={"en":"DRB","fr":"BDS","it":"NR06","pt":"CNBB"} BOOK=int(sys.argv[1]) if len(sys.argv)>1 else 40 CH=int(sys.argv[2]) if len(sys.argv)>2 else 10 V0=int(sys.argv[3]) if len(sys.argv)>3 else 26 V1=int(sys.argv[4]) if len(sys.argv)>4 else 33 def clean(t): return re.sub(r"\s+"," ",re.sub(r"<[^>]+>"," ",t)).strip() out={} for lang,code in TR.items(): data=json.load(urllib.request.urlopen(f"https://bolls.life/get-text/{code}/{BOOK}/{CH}/",timeout=20)) v={x["verse"]:clean(x["text"]) for x in data if V0<=x["verse"]<=V1} out[lang]="\n".join(f'

{n} {v[n]}

' for n in range(V0,V1+1) if n in v) json.dump(out,open("/tmp/lecturas_fetched.json","w"),ensure_ascii=False) print("OK ->/tmp/lecturas_fetched.json", {k:len(x) for k,x in out.items()})