Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
Add search by title
Browse files
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.
|
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
|
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
|