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, keys_only_col, full_coll, rest = st.columns([1, 1, 2, 1, 3, 1])
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
- user_data = user_task_database.fetch({'creator_name': creator_name, 'save_type': save_type}).items
246
- names = [item['save_name'] for item in user_data]
247
- cefr_level = [item['cefr_level'] for item in user_data]
248
- time_stamps = [item['time_stamp'] for item in user_data]
 
 
 
 
 
 
249
  return_data = pd.DataFrame([names, cefr_level, time_stamps]).transpose()
250
  return_data.columns = ['Название', 'Уровень', 'Время создания']
251
  else:
252
- user_data = user_task_database.fetch({'test_taker_name': test_taker_name, 'save_type': save_type}).items
253
- names = [item['save_name'] for item in user_data]
254
- cefr_level = [item['cefr_level'] for item in user_data]
255
- time_stamps = [item['time_stamp'] for item in user_data]
256
- creator_name = [item['creator_name'] for item in user_data]
257
- test_taker_result = [item['test_taker_result'] for item in user_data]
 
 
 
 
 
 
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