Spaces:
Running
Running
togokah
commited on
Commit
·
f164ee1
1
Parent(s):
1c4aea6
Fix load tasks from database
Browse files
pages/3_📥_Скачать.py
CHANGED
@@ -10,7 +10,7 @@ if st.session_state.get('-LOGGED_IN_BOOL-') and (st.session_state.get('-DISPLAY_
|
|
10 |
st.stop()
|
11 |
# Download buttons
|
12 |
if st.session_state.get('-DOWNLOAD_VERSION-'):
|
13 |
-
invite, tasks_col, tasks_with_answers_col,
|
14 |
invite.write('Скачать:')
|
15 |
with tasks_col:
|
16 |
d_button(
|
@@ -22,11 +22,6 @@ if st.session_state.get('-LOGGED_IN_BOOL-') and (st.session_state.get('-DISPLAY_
|
|
22 |
label='Задания+Ключи',
|
23 |
data=result['TEACHER_OUT'],
|
24 |
file_name=f'{result["name"]}_tasks_and_keys.txt')
|
25 |
-
with keys_only_col:
|
26 |
-
d_button(
|
27 |
-
label='Ключи',
|
28 |
-
data=result['KEYS_ONLY'],
|
29 |
-
file_name=f'{result["name"]}_keys.txt')
|
30 |
with full_coll:
|
31 |
d_button(
|
32 |
label='Исходник+Задания+Ключи',
|
|
|
10 |
st.stop()
|
11 |
# Download buttons
|
12 |
if st.session_state.get('-DOWNLOAD_VERSION-'):
|
13 |
+
invite, tasks_col, tasks_with_answers_col, full_coll, rest = st.columns([1, 1, 2, 3, 1])
|
14 |
invite.write('Скачать:')
|
15 |
with tasks_col:
|
16 |
d_button(
|
|
|
22 |
label='Задания+Ключи',
|
23 |
data=result['TEACHER_OUT'],
|
24 |
file_name=f'{result["name"]}_tasks_and_keys.txt')
|
|
|
|
|
|
|
|
|
|
|
25 |
with full_coll:
|
26 |
d_button(
|
27 |
label='Исходник+Задания+Ключи',
|
utilities_database/user_database_utils.py
CHANGED
@@ -242,19 +242,31 @@ def save_data_in_database(user_task_database, save_type, save_name, cefr_level,
|
|
242 |
|
243 |
def load_user_tasks_data(user_task_database, save_type, creator_name=None, test_taker_name=None):
|
244 |
if save_type == 'download':
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
249 |
return_data = pd.DataFrame([names, cefr_level, time_stamps]).transpose()
|
250 |
return_data.columns = ['Название', 'Уровень', 'Время создания']
|
251 |
else:
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
258 |
return_data = pd.DataFrame([names, cefr_level, test_taker_result, time_stamps, creator_name]).transpose()
|
259 |
return_data.columns = ['Название', 'Уровень', 'Оценка', 'Дата прохождения', 'Автор заданий']
|
260 |
return return_data
|
|
|
242 |
|
243 |
def load_user_tasks_data(user_task_database, save_type, creator_name=None, test_taker_name=None):
|
244 |
if save_type == 'download':
|
245 |
+
ITEMS = []
|
246 |
+
user_data = user_task_database.fetch({'creator_name': creator_name, 'save_type': save_type})
|
247 |
+
_last = user_data.last
|
248 |
+
while _last is not None:
|
249 |
+
ITEMS.extend(user_data.items)
|
250 |
+
user_data = user_task_database.fetch({'creator_name': creator_name, 'save_type': save_type}, last=_last)
|
251 |
+
_last = user_data.last
|
252 |
+
names = [item['save_name'] for item in ITEMS]
|
253 |
+
cefr_level = [item['cefr_level'] for item in ITEMS]
|
254 |
+
time_stamps = [item['time_stamp'] for item in ITEMS]
|
255 |
return_data = pd.DataFrame([names, cefr_level, time_stamps]).transpose()
|
256 |
return_data.columns = ['Название', 'Уровень', 'Время создания']
|
257 |
else:
|
258 |
+
ITEMS = []
|
259 |
+
user_data = user_task_database.fetch({'test_taker_name': test_taker_name, 'save_type': save_type})
|
260 |
+
_last = user_data.last
|
261 |
+
while _last is not None:
|
262 |
+
ITEMS.extend(user_data.items)
|
263 |
+
user_data = user_task_database.fetch({'test_taker_name': test_taker_name, 'save_type': save_type}, last=_last)
|
264 |
+
_last = user_data.last
|
265 |
+
names = [item['save_name'] for item in ITEMS]
|
266 |
+
cefr_level = [item['cefr_level'] for item in ITEMS]
|
267 |
+
time_stamps = [item['time_stamp'] for item in ITEMS]
|
268 |
+
creator_name = [item['creator_name'] for item in ITEMS]
|
269 |
+
test_taker_result = [item['test_taker_result'] for item in ITEMS]
|
270 |
return_data = pd.DataFrame([names, cefr_level, test_taker_result, time_stamps, creator_name]).transpose()
|
271 |
return_data.columns = ['Название', 'Уровень', 'Оценка', 'Дата прохождения', 'Автор заданий']
|
272 |
return return_data
|