Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 56 additions & 12 deletions task_database.py
Original file line number Diff line number Diff line change
Expand Up @@ -95,16 +95,16 @@ def add_task_account(username, is_official, lms_enabled):
"isOfficial": bool(is_official),
"lmsEnabled": bool(lms_enabled),
'tiers': {
'easy': [],
'medium': [],
'hard': [],
'elite': [],
'master' : [],
'passive': [],
'extra': [],
'bossPets': [],
'skillPets': [],
'otherPets': []
'easy': {"completedTasks" : []},
'medium': {"completedTasks" : []},
'hard': {"completedTasks" : []},
'elite': {"completedTasks" : []},
'master' : {"completedTasks" : []},
'passive': {"completedTasks" : []},
'extra': {"completedTasks" : []},
'bossPets': {"completedTasks" : []},
'skillPets': {"completedTasks" : []},
'otherPets': {"completedTasks" : []}
}
})

Expand Down Expand Up @@ -1248,7 +1248,51 @@ def to_user(data):
coll = mydb['taskAccounts']
return list(sorted(map(to_user, coll.find({'isOfficial': True})), key=lambda x: x.points(), reverse=True))


if __name__ == "__main__":
def test():
task_coll = mydb["taskLists"]
# results = task_coll.find_one({"username": "Gerni Task"}, {'tiers': 1, 'username': 1})
results = task_coll.find({}, {'tiers': 1, 'username': 1})
valid = True

for result in results:
easy = result['tiers']['easy']
medium = result['tiers']['medium']
hard = result['tiers']['hard']
elite = result['tiers']['elite']
master = result['tiers']['master']
passive = result['tiers']['passive']
extra = result['tiers']['extra']
bossPets = result['tiers']['bossPets']
skillPets = result['tiers']['skillPets']
otherPets = result['tiers']['otherPets']
if not isinstance(easy, dict):
valid = False
if not isinstance(medium, dict):
valid = False
if not isinstance(hard, dict):
valid = False
if not isinstance(elite, dict):
valid = False
if not isinstance(master, dict):
valid = False
if not isinstance(passive, dict):
valid = False
if not isinstance(extra, dict):
valid = False
if not isinstance(bossPets, dict):
valid = False
if not isinstance(skillPets, dict):
valid = False
if not isinstance(otherPets, dict):
valid = False

# if not valid:
# task_coll.update_one({"username" : result['username']}, {"$set":})

def fix_gerni():
task_coll = mydb["taskLists"]
task_coll.update_one({"username": "GerniFix"})
results = task_coll.find({}, {'tiers': 1, 'username': 1})
if __name__ == "__main__":
test()
pass
14 changes: 8 additions & 6 deletions user_dao.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,12 +112,14 @@ def convert_database_user(user_data: dict) -> UserDatabaseObject:

def convert_database_tier(tier: str) -> UserTaskList:
data = tiers[tier]
completed_tasks = list(map(lambda x: UserCompletedTask(task_id=x['taskId']), data['completedTasks']))
# Filter tasks that have been removed from tasklist
all_current_tier_ids = list(map(lambda x: x.id, tasklists.list_for_tier(tier)))
completed_tasks = list(filter(lambda x: x.task_id in all_current_tier_ids, completed_tasks))

current = data.get('currentTask')
if data:
completed_tasks = list(map(lambda x: UserCompletedTask(task_id=x['taskId']), data['completedTasks']))
# Filter tasks that have been removed from tasklist
all_current_tier_ids = list(map(lambda x: x.id, tasklists.list_for_tier(tier)))
completed_tasks = list(filter(lambda x: x.task_id in all_current_tier_ids, completed_tasks))

current = data.get('currentTask', None)
print(current)
if current:
current = UserCurrentTask(task_id=current['taskId'])
return UserTaskList(current_task=current,
Expand Down