pokemon-habit / app.py
panda1835's picture
Upload 2 files
de23a48
raw
history blame
2.29 kB
import gradio as gr
import pypokedex
import json
import utils
import datetime
from huggingface_hub import login, HfApi
import os
streaks = utils.get_streak()
pokemons = utils.get_pokemon()
hf_token = os.environ["HF_TOKEN"]
login(hf_token)
hfapi = HfApi()
def new_streak(intensity):
global pokemons
pokemons = utils.get_pokemon()
reward = utils.new_streak(intensity)
new_streak = utils.get_streak()
return f"{new_streak} streak days", '## ' + 'βœ… ' * new_streak, reward
# def update_pokemon_gallery():
# pokemon_exps = []
# pokemons = utils.get_pokemon()
# for dex in pokemons.keys():
# info = gr.Markdown(f"**EXP**: {utils.get_poke_energy(dex)}")
# pokemon_exps.append(info)
# return pokemon_exps
def restart():
with open('dummy.txt', 'w') as f:
f.write(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
hfapi.upload_file(
path_or_fileobj="dummy.txt",
path_in_repo="dummy.txt",
repo_id="panda1835/pokemon-habit",
repo_type="space",
)
with gr.Blocks() as demo:
gr.Markdown('<h1 style="text-align: center;">PokeVerse</h1>')
reward_md = gr.Markdown()
winning_btn = gr.Button("Are you winning today? πŸ’ͺ")
restart_btn = gr.Button("Restart πŸ€")
intensity = gr.Slider(0, 3, step=1, label="Intensity")
streak_md = gr.Markdown(f"{streaks} streak days")
streakboard = gr.Markdown('## ' + 'βœ… ' * streaks)
gr.Markdown('<h2 style="text-align: center;">My Poke Friends</h2>')
pokemon_exps = []
with gr.Row():
for dex in pokemons.keys():
with gr.Group():
with gr.Column(min_width=200) as poke_col:
gr.Image(pokemons[dex]['image'], show_label=False)
with gr.Accordion(pokemons[dex]['name'], open=False):
gr.Markdown(pokemons[dex]['description'])
info = gr.Markdown(f"**EXP**: {utils.get_poke_energy(dex)}")
pokemon_exps.append(info)
winning_btn.click(new_streak, inputs=[intensity], outputs=[streak_md, streakboard, reward_md])
restart_btn.click(restart, None, None)
# streak_md.change(update_pokemon_gallery, outputs=pokemon_exps)
demo.launch()