File size: 2,936 Bytes
e8baafb
d29dbb0
4f6aeda
5e5b0f4
0ca1004
f313251
0ca1004
404c329
e8baafb
 
 
 
 
0537230
e8baafb
 
 
c82fdc4
 
f7a6661
00a471b
f313251
00a471b
 
2f9a731
e10393a
cbc14f5
5ce9101
4f6aeda
eef3a59
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
294d631
 
f313251
00a471b
 
e8baafb
 
 
 
 
0537230
e8baafb
9e6bbf4
e8baafb
 
 
9e6bbf4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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())
    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.Textbox(label="Author")
    button = gr.Button()
    output = gr.HTML()
    button.click(find_dataset,author,output)
app.launch(show_api=False,share=False)