hysts HF staff commited on
Commit
57102fb
·
1 Parent(s): 5775144

Add search by title

Browse files
Files changed (2) hide show
  1. app.py +5 -4
  2. papers.py +7 -1
app.py CHANGED
@@ -24,6 +24,7 @@ with gr.Blocks(css="style.css") as demo:
24
  with gr.Row():
25
  start_date = Calendar(label="Start date", type="datetime", value="2023-05-05")
26
  end_date = Calendar(label="End date", type="datetime")
 
27
  df = gr.Dataframe(
28
  value=paper_list.df_prettified,
29
  datatype=paper_list.column_datatype,
@@ -36,12 +37,12 @@ with gr.Blocks(css="style.css") as demo:
36
  )
37
 
38
  gr.on(
39
- triggers=[start_date.change, end_date.change],
40
- fn=paper_list.filter_by_date,
41
- inputs=[start_date, end_date],
42
  outputs=df,
43
  api_name=False,
44
  )
45
 
46
  if __name__ == "__main__":
47
- demo.queue(api_open=False).launch()
 
24
  with gr.Row():
25
  start_date = Calendar(label="Start date", type="datetime", value="2023-05-05")
26
  end_date = Calendar(label="End date", type="datetime")
27
+ search_title = gr.Textbox(label="Search by title")
28
  df = gr.Dataframe(
29
  value=paper_list.df_prettified,
30
  datatype=paper_list.column_datatype,
 
37
  )
38
 
39
  gr.on(
40
+ triggers=[start_date.change, end_date.change, search_title.change],
41
+ fn=paper_list.search,
42
+ inputs=[start_date, end_date, search_title],
43
  outputs=df,
44
  api_name=False,
45
  )
46
 
47
  if __name__ == "__main__":
48
+ demo.queue(api_open=False).launch(show_api=False)
papers.py CHANGED
@@ -98,10 +98,16 @@ class PaperList:
98
  def column_datatype(self):
99
  return list(map(operator.itemgetter(1), self.COLUMN_INFO))
100
 
101
- def filter_by_date(self, start_date: datetime.datetime, end_date: datetime.datetime) -> pd.DataFrame:
102
  df = self.df_raw.copy()
103
  df["date"] = pd.to_datetime(df["date"])
 
 
104
  df = df[(df["date"] >= start_date) & (df["date"] <= end_date)]
105
  df["date"] = df["date"].dt.strftime("%Y-%m-%d")
 
 
 
 
106
  df_prettified = self._prettifier(df).loc[:, self.column_names]
107
  return df_prettified
 
98
  def column_datatype(self):
99
  return list(map(operator.itemgetter(1), self.COLUMN_INFO))
100
 
101
+ def search(self, start_date: datetime.datetime, end_date: datetime.datetime, title: str) -> pd.DataFrame:
102
  df = self.df_raw.copy()
103
  df["date"] = pd.to_datetime(df["date"])
104
+
105
+ # Filter by date
106
  df = df[(df["date"] >= start_date) & (df["date"] <= end_date)]
107
  df["date"] = df["date"].dt.strftime("%Y-%m-%d")
108
+
109
+ # Filter by title
110
+ df = df[df["title"].str.contains(title, case=False)]
111
+
112
  df_prettified = self._prettifier(df).loc[:, self.column_names]
113
  return df_prettified