11import random
2- import gspread
32import re
43from math import floor
54import tasklists
@@ -497,6 +496,7 @@ def manual_revert_tasks(username, tier, task_id):
497496
498497
499498'''
499+ DEPRECATED - No replacement
500500import_spreadsheet:
501501
502502The 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