nlpblogs commited on
Commit
cfbd3ec
·
verified ·
1 Parent(s): 0fd4b11

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +4 -54
app.py CHANGED
@@ -1,5 +1,4 @@
1
  import streamlit as st
2
- from cryptography.fernet import Fernet
3
  import time
4
  import pandas as pd
5
  import io
@@ -10,27 +9,8 @@ import plotly.express as px
10
 
11
  st.subheader("Table Question Answering (QA)", divider="blue")
12
 
13
- # generate Fernet key
14
- if 'fernet_key' not in st.session_state:
15
- st.session_state.fernet_key = Fernet.generate_key()
16
 
17
- key = st.session_state.fernet_key
18
-
19
-
20
- # function for generating and validating fernet key
21
- def generate_fernet_token(key, data):
22
- fernet = Fernet(key)
23
- token = fernet.encrypt(data.encode())
24
- return token
25
-
26
- def validate_fernet_token(key, token, ttl_seconds):
27
-
28
- fernet = Fernet(key)
29
- try:
30
- decrypted_data = fernet.decrypt(token, ttl=ttl_seconds).decode()
31
- return decrypted_data, None
32
- except Exception as e:
33
- return None, f"Expired token: {e}"
34
 
35
  # sidebar
36
  with st.sidebar:
@@ -154,40 +134,10 @@ if upload_file is not None:
154
  st.warning("Unsupported file type.")
155
  st.stop()
156
 
157
- # generate and validate Fernet token for the current file
158
- if 'fernet_token' not in st.session_state:
159
- if 'df' in st.session_state:
160
- df = st.session_state.df
161
-
162
- st.session_state.fernet_token = generate_fernet_token(key, df.to_json())
163
- else:
164
- st.stop()
165
 
166
- decrypted_data_streamlit, error_streamlit = validate_fernet_token(key, st.session_state.fernet_token, ttl_seconds=3600)
167
-
168
- if error_streamlit:
169
- st.warning("Please press Request Authorization. Please note that a file should be uploaded before you press Request Authorization.")
170
- if st.button("Request Authorization"):
171
- if 'df' in st.session_state:
172
- df = st.session_state.df
173
- st.session_state.fernet_token = generate_fernet_token(key, df.to_json())
174
- st.success("Authorization granted")
175
- decrypted_data_streamlit, error_streamlit = validate_fernet_token(key, st.session_state.fernet_token, ttl_seconds=3600)
176
- if error_streamlit:
177
- st.error(f"Your authorization has expired: {error_streamlit}")
178
- st.stop()
179
- if error_streamlit:
180
- st.error("Please upload a file.")
181
- st.stop()
182
- else:
183
- try:
184
- df = pd.read_json(decrypted_data_streamlit)
185
- except Exception as e:
186
- st.error(f"Error decoding data: {e}")
187
- st.stop()
188
- else:
189
- st.error(f"Your authorization has expired: {error_streamlit}")
190
- st.stop()
191
 
192
  st.divider()
193
 
 
1
  import streamlit as st
 
2
  import time
3
  import pandas as pd
4
  import io
 
9
 
10
  st.subheader("Table Question Answering (QA)", divider="blue")
11
 
 
 
 
12
 
13
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
 
15
  # sidebar
16
  with st.sidebar:
 
134
  st.warning("Unsupported file type.")
135
  st.stop()
136
 
 
 
 
 
 
 
 
 
137
 
138
+
139
+
140
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
141
 
142
  st.divider()
143