Spaces:
Running
on
Zero
Running
on
Zero
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
|