import gradio as gr import sys,os,io,contextlib sys.path.append(os.getcwd()) from hpgs import homepg, jsinj from ogtxt import txt from ogtxtJ2 import txt as j2 from desptxt import desp, nalz imgurl='https://raw.githubusercontent.com/picklejar76/kujata-data/master/metadata/makou-reactor/backgrounds/' imgext='.png' def gengali(ymgl): ret=[] ll=len(ymgl) for k in range(ll): y=ymgl[k] if y.startswith('-'): y=y[1:] ymgl[k]=y yurl=y else: yurl=imgurl+y ret.append((yurl+imgext,y)) return ret def dtkl(dta): if len(dta) < 3: return '[x]' return dta[1:].replace('\n','
') def psxjp(dta): ret=['

PSX_JP


'] ll=len(dta) for k in range(ll): ret.append('') ret.append('
z'+str(k)+'') ret.append(dtkl(dta[k])) ret.append('
') return ret def tblmaker(ky): dta=txt[ky] ddsp=desp[ky] ll=len(dta)>>1 ret=['

',ddsp,'


'] for k in range(ll): ret.append('') ret.append('
t'+str(k)+'') ret.append(dtkl(dta[2*k])) ret.append('') ret.append(dtkl(dta[2*k+1])) ret.append('
') if ky in j2: ret+=psxjp(j2[ky]) return ''.join(ret) def on_select(data: gr.SelectData): return tblmaker(data.value['caption']) def execute_code(code): try: exec_globals = {} output = io.StringIO() with contextlib.redirect_stdout(output): exec(code, exec_globals) return output.getvalue() except Exception as e: return str(e) statement = gr.HTML(homepg[0]) with gr.Blocks(head=jsinj[0], js=jsinj[1]) as demo: with gr.Row(): statement.render() for na in nalz: ymg=na[0] with gr.Tab(na[1]): gallery = gr.Gallery(gengali(ymg),columns=4,allow_preview=False) gallery.select(on_select, None, statement) katoshit = gr.HTML(homepg[1]) demo.launch(allowed_paths=['.'])