Spaces:
Sleeping
Sleeping
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()) | |
authors=[] | |
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] | |
authors.append(space.id) | |
except Exception: | |
pass | |
return (gr.Dropdown.update(label="Spaces", choices=[s for s in spaces]) | |
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) |