Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -312,27 +312,6 @@ def create_filter_controls(df, sort_column):
|
|
312 |
elif sort_column == 'Article Title':
|
313 |
# Only alphabetical sorting, no filtering
|
314 |
pass
|
315 |
-
|
316 |
-
|
317 |
-
elif sort_column == 'Times Cited':
|
318 |
-
# Cited count range slider
|
319 |
-
cited_min = int(df['Times Cited'].min())
|
320 |
-
cited_max = int(df['Times Cited'].max())
|
321 |
-
col1, col2 = st.columns(2)
|
322 |
-
with col1:
|
323 |
-
start_cited = st.number_input('From Cited Count',
|
324 |
-
min_value=cited_min,
|
325 |
-
max_value=cited_max,
|
326 |
-
value=cited_min)
|
327 |
-
with col2:
|
328 |
-
end_cited = st.number_input('To Cited Count',
|
329 |
-
min_value=cited_min,
|
330 |
-
max_value=cited_max,
|
331 |
-
value=cited_max)
|
332 |
-
filtered_df = filtered_df[
|
333 |
-
(filtered_df['Times Cited'] >= start_cited) &
|
334 |
-
(filtered_df['Times Cited'] <= end_cited)
|
335 |
-
]
|
336 |
|
337 |
return filtered_df
|
338 |
|
@@ -380,34 +359,12 @@ def main():
|
|
380 |
st.header("π Individual Paper Summaries")
|
381 |
|
382 |
# Generate summaries if not already done
|
383 |
-
if st.session_state.summaries is None:
|
384 |
-
try:
|
385 |
-
with st.spinner("Generating individual paper summaries..."):
|
386 |
-
model, tokenizer = load_model("summarize")
|
387 |
-
summaries = []
|
388 |
-
progress_bar = st.progress(0)
|
389 |
-
|
390 |
-
for idx, abstract in enumerate(df['Abstract']):
|
391 |
-
summary = improve_summary_generation(abstract, model, tokenizer)
|
392 |
-
summaries.append(summary)
|
393 |
-
progress_bar.progress((idx + 1) / len(df))
|
394 |
-
|
395 |
-
st.session_state.summaries = summaries
|
396 |
-
cleanup_model(model, tokenizer)
|
397 |
-
progress_bar.empty()
|
398 |
-
|
399 |
-
except Exception as e:
|
400 |
-
st.error(f"Error generating summaries: {str(e)}")
|
401 |
-
st.session_state.processing_started = False
|
402 |
-
|
403 |
-
# Display summaries with improved sorting and filtering
|
404 |
if st.session_state.summaries is not None:
|
405 |
col1, col2 = st.columns(2)
|
406 |
with col1:
|
407 |
sort_options = ['Article Title', 'Authors', 'Publication Year', 'Source Title', 'Times Cited']
|
408 |
sort_column = st.selectbox("Sort/Filter by:", sort_options)
|
409 |
with col2:
|
410 |
-
# Only show A-Z/Z-A option for Article Title
|
411 |
if sort_column == 'Article Title':
|
412 |
ascending = st.radio(
|
413 |
"Sort order",
|
@@ -417,9 +374,9 @@ def main():
|
|
417 |
elif sort_column == 'Times Cited':
|
418 |
ascending = st.radio(
|
419 |
"Sort order",
|
420 |
-
["Most cited", "Least cited"],
|
421 |
horizontal=True
|
422 |
-
) == "Least cited"
|
423 |
else:
|
424 |
ascending = True # Default for other columns
|
425 |
|
@@ -429,10 +386,18 @@ def main():
|
|
429 |
display_df['Publication Year'] = display_df['Publication Year'].astype(int)
|
430 |
display_df.rename(columns={'Times Cited, All Databases': 'Times Cited'}, inplace=True)
|
431 |
display_df['Times Cited'] = display_df['Times Cited'].fillna(0).astype(int)
|
432 |
-
|
433 |
# Apply filters
|
434 |
filtered_df = create_filter_controls(display_df, sort_column)
|
435 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
436 |
if sort_column == 'Article Title':
|
437 |
# Sort alphabetically
|
438 |
sorted_df = filtered_df.sort_values(by=sort_column, ascending=ascending)
|
|
|
312 |
elif sort_column == 'Article Title':
|
313 |
# Only alphabetical sorting, no filtering
|
314 |
pass
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
315 |
|
316 |
return filtered_df
|
317 |
|
|
|
359 |
st.header("π Individual Paper Summaries")
|
360 |
|
361 |
# Generate summaries if not already done
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
362 |
if st.session_state.summaries is not None:
|
363 |
col1, col2 = st.columns(2)
|
364 |
with col1:
|
365 |
sort_options = ['Article Title', 'Authors', 'Publication Year', 'Source Title', 'Times Cited']
|
366 |
sort_column = st.selectbox("Sort/Filter by:", sort_options)
|
367 |
with col2:
|
|
|
368 |
if sort_column == 'Article Title':
|
369 |
ascending = st.radio(
|
370 |
"Sort order",
|
|
|
374 |
elif sort_column == 'Times Cited':
|
375 |
ascending = st.radio(
|
376 |
"Sort order",
|
377 |
+
["Most cited first", "Least cited first"],
|
378 |
horizontal=True
|
379 |
+
) == "Least cited first"
|
380 |
else:
|
381 |
ascending = True # Default for other columns
|
382 |
|
|
|
386 |
display_df['Publication Year'] = display_df['Publication Year'].astype(int)
|
387 |
display_df.rename(columns={'Times Cited, All Databases': 'Times Cited'}, inplace=True)
|
388 |
display_df['Times Cited'] = display_df['Times Cited'].fillna(0).astype(int)
|
389 |
+
|
390 |
# Apply filters
|
391 |
filtered_df = create_filter_controls(display_df, sort_column)
|
392 |
|
393 |
+
# Apply sorting
|
394 |
+
if sort_column == 'Times Cited':
|
395 |
+
sorted_df = filtered_df.sort_values(by=sort_column, ascending=ascending)
|
396 |
+
elif sort_column == 'Article Title':
|
397 |
+
sorted_df = filtered_df.sort_values(by=sort_column, ascending=ascending)
|
398 |
+
else:
|
399 |
+
sorted_df = filtered_df
|
400 |
+
|
401 |
if sort_column == 'Article Title':
|
402 |
# Sort alphabetically
|
403 |
sorted_df = filtered_df.sort_values(by=sort_column, ascending=ascending)
|