Spaces:
Runtime error
Runtime error
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
|