Skip to content

Commit cf2d7b9

Browse files
authored
Merge pull request #9 from mgerni/migrate
migrate db take 2
2 parents 8fbf6f5 + c19a6bb commit cf2d7b9

1 file changed

Lines changed: 118 additions & 118 deletions

File tree

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
@@ -497,6 +496,7 @@ def manual_revert_tasks(username, tier, task_id):
497496

498497

499498
'''
499+
DEPRECATED - No replacement
500500
import_spreadsheet:
501501
502502
The import_spreadsheet function, Imports a spreadsheet into the database.
@@ -516,123 +516,123 @@ def manual_revert_tasks(username, tier, task_id):
516516
list: each element is a str: of the tier import status.
517517
518518
'''
519-
def import_spreadsheet(username, url):
520-
def update_current_task_from_sheet(username, tier, task_id):
521-
coll = mydb['taskAccounts']
522-
task_check = coll.find_one({'username': username, '%s._id' % tier: task_id},
523-
{'_id': 0, '%s.status' % tier: 1, '%s._id' % tier: 1})
524-
task_updated = False
525-
if task_check[tier][task_id - 1]['status'] == 'Incomplete':
526-
task_updated = True
527-
coll.update_one({'username': username, '%s._id' % tier: task_id},
528-
{'$set': {'%s.$.taskCurrent' % tier: True}})
529-
return task_updated
530-
531-
try:
532-
error = None
533-
task_import_logs = []
534-
task_current_logs = []
535-
speadsheet_key = re.search('\/d\/(.*?)(\/|$)', url)
536-
if speadsheet_key:
537-
service = gspread.service_account(filename="service_account.json")
538-
google_sheet = service.open_by_key(speadsheet_key.group(1))
539-
info_sheet = google_sheet.worksheet("Info")
540-
541-
current_sheet_tier = info_sheet.get('B13:B14')
542-
543-
tier, cell = current_sheet_tier[0][0], current_sheet_tier[1][0].replace('C', "")
544-
cell = int(cell) - 1
545-
sheet_tasks = []
546-
sheet_list = [
547-
'Easy',
548-
'Medium',
549-
'Hard',
550-
'Elite',
551-
'Pets',
552-
'Pets',
553-
'Pets',
554-
'Extra',
555-
'Passive'
556-
]
557-
558-
cell_range = [
559-
'A2:C137', # Easy
560-
'A2:C160', # Medium
561-
'A2:C184', # Hard
562-
'A2:C165', # Elite
563-
'A2:C35', # Pets - Boss
564-
'A37:C44', # Pets - Skill
565-
'A46:C55', # Pets - Other
566-
'A2:C119', # Extra
567-
'A2:C44' # Passive
568-
]
569-
570-
task_list = [
571-
tasklists.easy,
572-
tasklists.medium,
573-
tasklists.hard,
574-
tasklists.elite,
575-
tasklists.boss_pet,
576-
tasklists.skill_pet,
577-
tasklists.other_pet,
578-
tasklists.extra,
579-
tasklists.passive
580-
]
581-
582-
taskdb_names = [
583-
'easyTasks',
584-
'mediumTasks',
585-
'hardTasks',
586-
'eliteTasks',
587-
'bossPetTasks',
588-
'skillPetTasks',
589-
'otherPetTasks',
590-
'extraTasks',
591-
'passiveTasks'
592-
]
593-
594-
for sheet_name, cells in zip(sheet_list, cell_range):
595-
ws = google_sheet.worksheet(sheet_name)
596-
tasks = ws.get(cells)
597-
sheet_tasks.append(tasks)
598-
if sheet_name == tier:
599-
current_list = []
600-
current_list.append(tasks)
601-
602-
coll = mydb['taskAccounts']
603-
user_tasks = coll.find_one({'username': username})
604-
605-
for sheet_task_list, tasks_lists, doc_list_names in zip(sheet_tasks, task_list, taskdb_names):
606-
if len(sheet_task_list) == len(tasks_lists):
607-
for i, (task_sheet, task_db) in enumerate(zip(sheet_task_list, tasks_lists), 1):
608-
if 'x' in task_sheet:
609-
user_tasks[doc_list_names][i - 1]['status'] = "Complete"
610-
coll.update_one({'username': username}, {'$set': {doc_list_names: user_tasks[doc_list_names]}})
611-
task_import_logs.append('Tasks for %s were updated!' % doc_list_names)
612-
else:
613-
task_import_logs.append(
614-
'Unable to update %s! Spreadsheet data differs from database!' % doc_list_names)
615-
616-
if get_taskCurrent(username) is None:
617-
for i, (task) in enumerate(current_list[0], 1):
618-
if i == cell:
619-
sheets_db_dict = {}
620-
for i2, (key, value) in enumerate(zip(sheet_list, taskdb_names)):
621-
sheets_db_dict[key] = value
622-
if i2 == 3:
623-
update_current = update_current_task_from_sheet(username, sheets_db_dict[tier], i)
624-
if update_current is True:
625-
task_current_logs.append('Updated current task!')
626-
break
627-
else:
628-
task_current_logs.append('Current task already found!')
629-
else:
630-
error = "Spreadsheet URL is not valid!"
631-
return task_import_logs, task_current_logs, error
632-
except Exception as e:
633-
print(str(e))
634-
error = "There was a problem prcoessing the request. Contact Gerni Task on Discord."
635-
return task_import_logs, task_current_logs, error
519+
# def import_spreadsheet(username, url):
520+
# def update_current_task_from_sheet(username, tier, task_id):
521+
# coll = mydb['taskAccounts']
522+
# task_check = coll.find_one({'username': username, '%s._id' % tier: task_id},
523+
# {'_id': 0, '%s.status' % tier: 1, '%s._id' % tier: 1})
524+
# task_updated = False
525+
# if task_check[tier][task_id - 1]['status'] == 'Incomplete':
526+
# task_updated = True
527+
# coll.update_one({'username': username, '%s._id' % tier: task_id},
528+
# {'$set': {'%s.$.taskCurrent' % tier: True}})
529+
# return task_updated
530+
531+
# try:
532+
# error = None
533+
# task_import_logs = []
534+
# task_current_logs = []
535+
# speadsheet_key = re.search('\/d\/(.*?)(\/|$)', url)
536+
# if speadsheet_key:
537+
# service = gspread.service_account(filename="service_account.json")
538+
# google_sheet = service.open_by_key(speadsheet_key.group(1))
539+
# info_sheet = google_sheet.worksheet("Info")
540+
541+
# current_sheet_tier = info_sheet.get('B13:B14')
542+
543+
# tier, cell = current_sheet_tier[0][0], current_sheet_tier[1][0].replace('C', "")
544+
# cell = int(cell) - 1
545+
# sheet_tasks = []
546+
# sheet_list = [
547+
# 'Easy',
548+
# 'Medium',
549+
# 'Hard',
550+
# 'Elite',
551+
# 'Pets',
552+
# 'Pets',
553+
# 'Pets',
554+
# 'Extra',
555+
# 'Passive'
556+
# ]
557+
558+
# cell_range = [
559+
# 'A2:C137', # Easy
560+
# 'A2:C160', # Medium
561+
# 'A2:C184', # Hard
562+
# 'A2:C165', # Elite
563+
# 'A2:C35', # Pets - Boss
564+
# 'A37:C44', # Pets - Skill
565+
# 'A46:C55', # Pets - Other
566+
# 'A2:C119', # Extra
567+
# 'A2:C44' # Passive
568+
# ]
569+
570+
# task_list = [
571+
# tasklists.easy,
572+
# tasklists.medium,
573+
# tasklists.hard,
574+
# tasklists.elite,
575+
# tasklists.boss_pet,
576+
# tasklists.skill_pet,
577+
# tasklists.other_pet,
578+
# tasklists.extra,
579+
# tasklists.passive
580+
# ]
581+
582+
# taskdb_names = [
583+
# 'easyTasks',
584+
# 'mediumTasks',
585+
# 'hardTasks',
586+
# 'eliteTasks',
587+
# 'bossPetTasks',
588+
# 'skillPetTasks',
589+
# 'otherPetTasks',
590+
# 'extraTasks',
591+
# 'passiveTasks'
592+
# ]
593+
594+
# for sheet_name, cells in zip(sheet_list, cell_range):
595+
# ws = google_sheet.worksheet(sheet_name)
596+
# tasks = ws.get(cells)
597+
# sheet_tasks.append(tasks)
598+
# if sheet_name == tier:
599+
# current_list = []
600+
# current_list.append(tasks)
601+
602+
# coll = mydb['taskAccounts']
603+
# user_tasks = coll.find_one({'username': username})
604+
605+
# for sheet_task_list, tasks_lists, doc_list_names in zip(sheet_tasks, task_list, taskdb_names):
606+
# if len(sheet_task_list) == len(tasks_lists):
607+
# for i, (task_sheet, task_db) in enumerate(zip(sheet_task_list, tasks_lists), 1):
608+
# if 'x' in task_sheet:
609+
# user_tasks[doc_list_names][i - 1]['status'] = "Complete"
610+
# coll.update_one({'username': username}, {'$set': {doc_list_names: user_tasks[doc_list_names]}})
611+
# task_import_logs.append('Tasks for %s were updated!' % doc_list_names)
612+
# else:
613+
# task_import_logs.append(
614+
# 'Unable to update %s! Spreadsheet data differs from database!' % doc_list_names)
615+
616+
# if get_taskCurrent(username) is None:
617+
# for i, (task) in enumerate(current_list[0], 1):
618+
# if i == cell:
619+
# sheets_db_dict = {}
620+
# for i2, (key, value) in enumerate(zip(sheet_list, taskdb_names)):
621+
# sheets_db_dict[key] = value
622+
# if i2 == 3:
623+
# update_current = update_current_task_from_sheet(username, sheets_db_dict[tier], i)
624+
# if update_current is True:
625+
# task_current_logs.append('Updated current task!')
626+
# break
627+
# else:
628+
# task_current_logs.append('Current task already found!')
629+
# else:
630+
# error = "Spreadsheet URL is not valid!"
631+
# return task_import_logs, task_current_logs, error
632+
# except Exception as e:
633+
# print(str(e))
634+
# error = "There was a problem prcoessing the request. Contact Gerni Task on Discord."
635+
# return task_import_logs, task_current_logs, error
636636

637637

638638
# NOT USED only for testing purposes.

0 commit comments

Comments
 (0)