Skip to content

Commit c19a6bb

Browse files
committed
migrate db take 2
1 parent b53cb9f commit c19a6bb

File tree

1 file changed

+118
-118
lines changed

1 file changed

+118
-118
lines changed

task_database.py

Lines changed: 118 additions & 118 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import random
2-
import gspread
32
import re
43
from math import floor
54
import tasklists
@@ -564,6 +563,7 @@ def manual_revert_tasks(username, tier, task_id):
564563

565564

566565
'''
566+
DEPRECATED - No replacement
567567
import_spreadsheet:
568568
569569
The import_spreadsheet function, Imports a spreadsheet into the database.
@@ -583,123 +583,123 @@ def manual_revert_tasks(username, tier, task_id):
583583
list: each element is a str: of the tier import status.
584584
585585
'''
586-
def import_spreadsheet(username, url):
587-
def update_current_task_from_sheet(username, tier, task_id):
588-
coll = mydb['taskAccounts']
589-
task_check = coll.find_one({'username': username, '%s._id' % tier: task_id},
590-
{'_id': 0, '%s.status' % tier: 1, '%s._id' % tier: 1})
591-
task_updated = False
592-
if task_check[tier][task_id - 1]['status'] == 'Incomplete':
593-
task_updated = True
594-
coll.update_one({'username': username, '%s._id' % tier: task_id},
595-
{'$set': {'%s.$.taskCurrent' % tier: True}})
596-
return task_updated
597-
598-
try:
599-
error = None
600-
task_import_logs = []
601-
task_current_logs = []
602-
speadsheet_key = re.search('\/d\/(.*?)(\/|$)', url)
603-
if speadsheet_key:
604-
service = gspread.service_account(filename="service_account.json")
605-
google_sheet = service.open_by_key(speadsheet_key.group(1))
606-
info_sheet = google_sheet.worksheet("Info")
607-
608-
current_sheet_tier = info_sheet.get('B13:B14')
609-
610-
tier, cell = current_sheet_tier[0][0], current_sheet_tier[1][0].replace('C', "")
611-
cell = int(cell) - 1
612-
sheet_tasks = []
613-
sheet_list = [
614-
'Easy',
615-
'Medium',
616-
'Hard',
617-
'Elite',
618-
'Pets',
619-
'Pets',
620-
'Pets',
621-
'Extra',
622-
'Passive'
623-
]
624-
625-
cell_range = [
626-
'A2:C137', # Easy
627-
'A2:C160', # Medium
628-
'A2:C184', # Hard
629-
'A2:C165', # Elite
630-
'A2:C35', # Pets - Boss
631-
'A37:C44', # Pets - Skill
632-
'A46:C55', # Pets - Other
633-
'A2:C119', # Extra
634-
'A2:C44' # Passive
635-
]
636-
637-
task_list = [
638-
tasklists.easy,
639-
tasklists.medium,
640-
tasklists.hard,
641-
tasklists.elite,
642-
tasklists.boss_pet,
643-
tasklists.skill_pet,
644-
tasklists.other_pet,
645-
tasklists.extra,
646-
tasklists.passive
647-
]
648-
649-
taskdb_names = [
650-
'easyTasks',
651-
'mediumTasks',
652-
'hardTasks',
653-
'eliteTasks',
654-
'bossPetTasks',
655-
'skillPetTasks',
656-
'otherPetTasks',
657-
'extraTasks',
658-
'passiveTasks'
659-
]
660-
661-
for sheet_name, cells in zip(sheet_list, cell_range):
662-
ws = google_sheet.worksheet(sheet_name)
663-
tasks = ws.get(cells)
664-
sheet_tasks.append(tasks)
665-
if sheet_name == tier:
666-
current_list = []
667-
current_list.append(tasks)
668-
669-
coll = mydb['taskAccounts']
670-
user_tasks = coll.find_one({'username': username})
671-
672-
for sheet_task_list, tasks_lists, doc_list_names in zip(sheet_tasks, task_list, taskdb_names):
673-
if len(sheet_task_list) == len(tasks_lists):
674-
for i, (task_sheet, task_db) in enumerate(zip(sheet_task_list, tasks_lists), 1):
675-
if 'x' in task_sheet:
676-
user_tasks[doc_list_names][i - 1]['status'] = "Complete"
677-
coll.update_one({'username': username}, {'$set': {doc_list_names: user_tasks[doc_list_names]}})
678-
task_import_logs.append('Tasks for %s were updated!' % doc_list_names)
679-
else:
680-
task_import_logs.append(
681-
'Unable to update %s! Spreadsheet data differs from database!' % doc_list_names)
682-
683-
if get_taskCurrent(username) is None:
684-
for i, (task) in enumerate(current_list[0], 1):
685-
if i == cell:
686-
sheets_db_dict = {}
687-
for i2, (key, value) in enumerate(zip(sheet_list, taskdb_names)):
688-
sheets_db_dict[key] = value
689-
if i2 == 3:
690-
update_current = update_current_task_from_sheet(username, sheets_db_dict[tier], i)
691-
if update_current is True:
692-
task_current_logs.append('Updated current task!')
693-
break
694-
else:
695-
task_current_logs.append('Current task already found!')
696-
else:
697-
error = "Spreadsheet URL is not valid!"
698-
return task_import_logs, task_current_logs, error
699-
except Exception as e:
700-
print(str(e))
701-
error = "There was a problem prcoessing the request. Contact Gerni Task on Discord."
702-
return task_import_logs, task_current_logs, error
586+
# def import_spreadsheet(username, url):
587+
# def update_current_task_from_sheet(username, tier, task_id):
588+
# coll = mydb['taskAccounts']
589+
# task_check = coll.find_one({'username': username, '%s._id' % tier: task_id},
590+
# {'_id': 0, '%s.status' % tier: 1, '%s._id' % tier: 1})
591+
# task_updated = False
592+
# if task_check[tier][task_id - 1]['status'] == 'Incomplete':
593+
# task_updated = True
594+
# coll.update_one({'username': username, '%s._id' % tier: task_id},
595+
# {'$set': {'%s.$.taskCurrent' % tier: True}})
596+
# return task_updated
597+
598+
# try:
599+
# error = None
600+
# task_import_logs = []
601+
# task_current_logs = []
602+
# speadsheet_key = re.search('\/d\/(.*?)(\/|$)', url)
603+
# if speadsheet_key:
604+
# service = gspread.service_account(filename="service_account.json")
605+
# google_sheet = service.open_by_key(speadsheet_key.group(1))
606+
# info_sheet = google_sheet.worksheet("Info")
607+
608+
# current_sheet_tier = info_sheet.get('B13:B14')
609+
610+
# tier, cell = current_sheet_tier[0][0], current_sheet_tier[1][0].replace('C', "")
611+
# cell = int(cell) - 1
612+
# sheet_tasks = []
613+
# sheet_list = [
614+
# 'Easy',
615+
# 'Medium',
616+
# 'Hard',
617+
# 'Elite',
618+
# 'Pets',
619+
# 'Pets',
620+
# 'Pets',
621+
# 'Extra',
622+
# 'Passive'
623+
# ]
624+
625+
# cell_range = [
626+
# 'A2:C137', # Easy
627+
# 'A2:C160', # Medium
628+
# 'A2:C184', # Hard
629+
# 'A2:C165', # Elite
630+
# 'A2:C35', # Pets - Boss
631+
# 'A37:C44', # Pets - Skill
632+
# 'A46:C55', # Pets - Other
633+
# 'A2:C119', # Extra
634+
# 'A2:C44' # Passive
635+
# ]
636+
637+
# task_list = [
638+
# tasklists.easy,
639+
# tasklists.medium,
640+
# tasklists.hard,
641+
# tasklists.elite,
642+
# tasklists.boss_pet,
643+
# tasklists.skill_pet,
644+
# tasklists.other_pet,
645+
# tasklists.extra,
646+
# tasklists.passive
647+
# ]
648+
649+
# taskdb_names = [
650+
# 'easyTasks',
651+
# 'mediumTasks',
652+
# 'hardTasks',
653+
# 'eliteTasks',
654+
# 'bossPetTasks',
655+
# 'skillPetTasks',
656+
# 'otherPetTasks',
657+
# 'extraTasks',
658+
# 'passiveTasks'
659+
# ]
660+
661+
# for sheet_name, cells in zip(sheet_list, cell_range):
662+
# ws = google_sheet.worksheet(sheet_name)
663+
# tasks = ws.get(cells)
664+
# sheet_tasks.append(tasks)
665+
# if sheet_name == tier:
666+
# current_list = []
667+
# current_list.append(tasks)
668+
669+
# coll = mydb['taskAccounts']
670+
# user_tasks = coll.find_one({'username': username})
671+
672+
# for sheet_task_list, tasks_lists, doc_list_names in zip(sheet_tasks, task_list, taskdb_names):
673+
# if len(sheet_task_list) == len(tasks_lists):
674+
# for i, (task_sheet, task_db) in enumerate(zip(sheet_task_list, tasks_lists), 1):
675+
# if 'x' in task_sheet:
676+
# user_tasks[doc_list_names][i - 1]['status'] = "Complete"
677+
# coll.update_one({'username': username}, {'$set': {doc_list_names: user_tasks[doc_list_names]}})
678+
# task_import_logs.append('Tasks for %s were updated!' % doc_list_names)
679+
# else:
680+
# task_import_logs.append(
681+
# 'Unable to update %s! Spreadsheet data differs from database!' % doc_list_names)
682+
683+
# if get_taskCurrent(username) is None:
684+
# for i, (task) in enumerate(current_list[0], 1):
685+
# if i == cell:
686+
# sheets_db_dict = {}
687+
# for i2, (key, value) in enumerate(zip(sheet_list, taskdb_names)):
688+
# sheets_db_dict[key] = value
689+
# if i2 == 3:
690+
# update_current = update_current_task_from_sheet(username, sheets_db_dict[tier], i)
691+
# if update_current is True:
692+
# task_current_logs.append('Updated current task!')
693+
# break
694+
# else:
695+
# task_current_logs.append('Current task already found!')
696+
# else:
697+
# error = "Spreadsheet URL is not valid!"
698+
# return task_import_logs, task_current_logs, error
699+
# except Exception as e:
700+
# print(str(e))
701+
# error = "There was a problem prcoessing the request. Contact Gerni Task on Discord."
702+
# return task_import_logs, task_current_logs, error
703703

704704

705705
# NOT USED only for testing purposes.

0 commit comments

Comments
 (0)