Omnibus's picture
Update player.py
dfd25b4
raw
history blame
No virus
3.52 kB
import gradio as gr
from huggingface_hub import HfApi, list_files_info
import requests
import json
token = ""
source_dataset = "jbilcke-hf/ai-tube-index"
api = HfApi(token=token)
def find_dataset(author=None):
s_ist = (api.list_datasets(author=author,search="ai-tube"))
#print(api.whoami())
channels=[]
videos=[]
out_html=""
for space in s_ist:
#for i,space in enumerate(s_ist):
try:
#space_loc=space.id
#space_auth=space_loc.split("/",1)[0]
#space_name=space_loc.split("/",1)[0]
#space_ea = space.id.split("/",1)[1]
channels.append(space.id)
except Exception:
pass
return (gr.Dropdown.update(label="Spaces", choices=[s for s in channels]))
def find_dataset_og(author=None):
s_ist = (api.list_datasets(author=author,search="ai-tube"))
#print(api.whoami())
spaces=[]
out_html=""
for space in s_ist:
#for i,space in enumerate(s_ist):
try:
#space_ea = space.id.split("/",1)[1]
spaces.append(f'{space.id}<br>')
out_html = f'{out_html}<b>{space.id}</b><br>'
file_box = [info.path for info in list_files_info(f'{space.id}', repo_type="dataset")]
ai_tube_box = [info.path for info in list_files_info(f'{source_dataset}', repo_type="dataset")]
for file in file_box:
if file.startswith("prompt_"):
prompt_slug = file.split("prompt_",1)[1].split(".",1)[0]
out_html=f'{out_html}<pre> • {file}</pre>'
print(prompt_slug)
for vid_file in ai_tube_box:
try:
vid_slug=vid_file.split("videos/",1)[1].split(".",1)[0]
print(vid_slug)
try:
if vid_file.endswith(".json"):
r = requests.get(f'https://huggingface.co/datasets/jbilcke-hf/ai-tube-index/raw/main/videos/{vid_slug}.json')
#r = requests.get(f'https://huggingface.co/datasets/jbilcke-hf/ai-tube-index/blob/main/videos/00b4bcda-7b4a-40f8-9833-e490425a7b91.mp4')
print (r.content)
#uid = uuid.uuid4()
#file = open(f'{name}/{f_name}','wb')
#file.write(r.content)
except Exception as e:
print (f'error:: {e}')
pass
try:
if vid_slug == prompt_slug:
out_html=f'{out_html}<pre> + {vid_file}</pre>'
except Exception:
pass
except Exception:
pass
#print([info.path for info in list_files_info(f'{space.id}', repo_type="dataset")])
#print(space.id)
except Exception as e:
print(e)
#s_info=api.space_info(f'{name}/{space}',files_metadata=True)
#print(s_info)
print(spaces)
return(out_html)
with gr.Blocks() as app:
author = gr.Dropdown(label="Author")
button = gr.Button()
output = gr.HTML()
button.click(find_dataset,None,author)
app.launch(show_api=False,share=False)