rhea2809 commited on
Commit
4908e9a
1 Parent(s): 28c51a3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -21
app.py CHANGED
@@ -2,24 +2,20 @@ import gradio as gr
2
  import pandas as pd
3
 
4
 
5
- SHEET_ID = '1BWKw2ygYQUUPcNdSJhW9OkXILWO5i-dCa5Uahn9dHNo'
6
  SHEET_NAME = 'Datasets'
7
  csv_url = f'https://docs.google.com/spreadsheets/d/{SHEET_ID}/gviz/tq?tqx=out:csv&sheet={SHEET_NAME}'
8
 
9
  class DataList:
10
  def __init__(self):
11
  self.table = pd.read_csv(csv_url)
12
- self.table = self.table.astype({'Year':'string'})
13
  self._preprocess_table()
14
 
15
  self.table_header = '''
16
  <tr>
17
  <td width="25%">Name</td>
18
- <td width="30%">About</td>
19
- <td width="15%">Publisher</td>
20
- <td width="10%">Year Updated</td>
21
- <td width="10%">Type</td>
22
- <td width="10%">Tag</td>
23
  </tr>'''
24
 
25
  def _preprocess_table(self) -> None:
@@ -32,24 +28,17 @@ class DataList:
32
  row = f'''
33
  <tr>
34
  <td>{source}</td>
35
- <td>{row.About}</td>
36
- <td>{row.Publisher}</td>
37
- <td>{row.Year}</td>
38
  <td>{row.Type}</td>
39
- <td>{row.Tags}</td>
40
  </tr>'''
41
  rows.append(row)
42
  self.table['html_table_content'] = rows
43
 
44
- def render(self, search_query: str,
45
- case_sensitive: bool,
46
  filter_names: list[str]
47
  ) -> tuple[int, str]:
48
  df = self.table
49
  if search_query:
50
- if case_sensitive:
51
- df = df[df.name.str.contains(search_query)]
52
- else:
53
  df = df[df.name_lowercase.str.contains(search_query.lower())]
54
  df = self.filter_table(df, filter_names)
55
  result = self.to_html(df, self.table_header)
@@ -92,13 +81,12 @@ span.svelte-s1r2yt{font-weight: bold !important;
92
  """
93
  with gr.Blocks(css=css) as demo:
94
  search_box = gr.Textbox( label='Search Name', placeholder='You can search for titles with regular expressions. e.g. (?<!sur)face',max_lines=1)
95
- case_sensitive = gr.Checkbox(label='Case Sensitive')
96
- filter_names = gr.CheckboxGroup(choices=['Real Data','Synthetic Data',], value=['Real Data','Synthetic Data',], label='Type')
97
  search_button = gr.Button('Search')
98
  table = gr.HTML(show_label=False)
99
- demo.load(fn=data_list.render, inputs=[search_box, case_sensitive, filter_names,],outputs=[table,])
100
- search_box.submit(fn=data_list.render, inputs=[search_box, case_sensitive, filter_names,], outputs=[table,])
101
- search_button.click(fn=data_list.render, inputs=[search_box, case_sensitive, filter_names,], outputs=[table,])
102
 
103
  demo.queue()
104
  demo.launch(share=False)
 
2
  import pandas as pd
3
 
4
 
5
+ SHEET_ID = '1CLlupGiP__XkLWT7RAfBfiW9m916tpgxYAQTJmFQVfI'
6
  SHEET_NAME = 'Datasets'
7
  csv_url = f'https://docs.google.com/spreadsheets/d/{SHEET_ID}/gviz/tq?tqx=out:csv&sheet={SHEET_NAME}'
8
 
9
  class DataList:
10
  def __init__(self):
11
  self.table = pd.read_csv(csv_url)
 
12
  self._preprocess_table()
13
 
14
  self.table_header = '''
15
  <tr>
16
  <td width="25%">Name</td>
17
+ <td width="50%">Description</td>
18
+ <td width="25%">Type</td>
 
 
 
19
  </tr>'''
20
 
21
  def _preprocess_table(self) -> None:
 
28
  row = f'''
29
  <tr>
30
  <td>{source}</td>
31
+ <td>{row.Description}</td>
 
 
32
  <td>{row.Type}</td>
 
33
  </tr>'''
34
  rows.append(row)
35
  self.table['html_table_content'] = rows
36
 
37
+ def render(self, search_query: str,
 
38
  filter_names: list[str]
39
  ) -> tuple[int, str]:
40
  df = self.table
41
  if search_query:
 
 
 
42
  df = df[df.name_lowercase.str.contains(search_query.lower())]
43
  df = self.filter_table(df, filter_names)
44
  result = self.to_html(df, self.table_header)
 
81
  """
82
  with gr.Blocks(css=css) as demo:
83
  search_box = gr.Textbox( label='Search Name', placeholder='You can search for titles with regular expressions. e.g. (?<!sur)face',max_lines=1)
84
+ filter_names = gr.CheckboxGroup(choices=['Guidebooks','Assessment Tools','Training and Education',], value=['Guidebooks','Assessment Tools','Training and Education',], label='Type')
 
85
  search_button = gr.Button('Search')
86
  table = gr.HTML(show_label=False)
87
+ demo.load(fn=data_list.render, inputs=[search_box, filter_names,],outputs=[table,])
88
+ search_box.submit(fn=data_list.render, inputs=[search_box, filter_names,], outputs=[table,])
89
+ search_button.click(fn=data_list.render, inputs=[search_box, filter_names,], outputs=[table,])
90
 
91
  demo.queue()
92
  demo.launch(share=False)