awacke1 commited on
Commit
9b05f92
·
verified ·
1 Parent(s): 7995560

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -14
app.py CHANGED
@@ -35,17 +35,26 @@ def save_list_as_excel(text):
35
  st.success(f"Character list saved as {file_name}")
36
  return file_name
37
 
38
- def get_download_link(file_path, file_type):
39
- with open(file_path, 'rb') as f:
40
- data = f.read()
41
- b64 = base64.b64encode(data).decode()
42
- if file_type == "xlsx":
43
- href = f'<a href="data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,{b64}" download="{file_path}">Download {file_path}</a>'
44
- elif file_type == "csv":
45
- href = f'<a href="data:text/csv;base64,{b64}" download="{file_path}">Download {file_path}</a>'
46
- elif file_type == "md":
47
- href = f'<a href="data:text/markdown;base64,{b64}" download="{file_path}">Download {file_path}</a>'
48
- return href
 
 
 
 
 
 
 
 
 
49
 
50
  def perform_nlp(text):
51
  sentences = sent_tokenize(text)
@@ -106,9 +115,9 @@ def main():
106
  df = pd.read_excel(file_name)
107
  st.subheader("Saved Data")
108
  st.dataframe(df)
109
- st.markdown(get_download_link(file_name, "xlsx"), unsafe_allow_html=True)
110
- st.markdown(get_download_link(file_name.replace(".xlsx", ".csv"), "csv"), unsafe_allow_html=True)
111
- st.markdown(get_download_link(file_name.replace(".xlsx", ".md"), "md"), unsafe_allow_html=True)
112
  except:
113
  pass
114
 
 
35
  st.success(f"Character list saved as {file_name}")
36
  return file_name
37
 
38
+ @st.cache_resource
39
+ def get_table_download_link(file_path):
40
+ try:
41
+ with open(file_path, 'rb') as file:
42
+ data = file.read()
43
+ b64 = base64.b64encode(data).decode()
44
+ file_name = os.path.basename(file_path)
45
+ ext = os.path.splitext(file_name)[1] # get the file extension
46
+ if ext == '.xlsx':
47
+ mime_type = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
48
+ elif ext == '.csv':
49
+ mime_type = 'text/csv'
50
+ elif ext == '.md':
51
+ mime_type = 'text/markdown'
52
+ else:
53
+ mime_type = 'application/octet-stream' # general binary data type
54
+ href = f'<a href="data:{mime_type};base64,{b64}" target="_blank" download="{file_name}">{file_name}</a>'
55
+ return href
56
+ except:
57
+ return ''
58
 
59
  def perform_nlp(text):
60
  sentences = sent_tokenize(text)
 
115
  df = pd.read_excel(file_name)
116
  st.subheader("Saved Data")
117
  st.dataframe(df)
118
+ st.markdown(get_table_download_link(file_name), unsafe_allow_html=True)
119
+ st.markdown(get_table_download_link(file_name.replace(".xlsx", ".csv")), unsafe_allow_html=True)
120
+ st.markdown(get_table_download_link(file_name.replace(".xlsx", ".md")), unsafe_allow_html=True)
121
  except:
122
  pass
123