@@ -42,7 +42,7 @@ def temple_player_data(username: str):
4242# return completed_tasks
4343
4444
45- def check_logs (username : str , site_tasks : list ["TaskData" ], action : str ):
45+ def import_logs (username : str , site_tasks : list ["TaskData" ], action : str ):
4646 def find_by_id (items , target_id ):
4747 return [item for item in items if int (item ['id' ]) == target_id ]
4848 def parse_completed_date (value ):
@@ -135,5 +135,42 @@ def format_completed_tasks(completed_tasks: dict):
135135 return format_completed_tasks (completed_tasks )
136136
137137
138+ def check_logs (username : str , site_tasks : list ["TaskData" ], action : str ):
139+ def find_by_id (items , target_id ):
140+ return [item for item in items if int (item ['id' ]) == target_id ]
141+ def format_completed_tasks (completed_tasks : set ):
142+ formatted_tasks = []
143+ for task_id in completed_tasks :
144+ formatted_tasks .append ({
145+ 'id' : task_id
146+ })
147+ return formatted_tasks
148+
149+ cleaned_player_data = temple_player_data (username )
150+ missing_tasks = list ()
151+ completed_tasks = set ()
152+ for task in site_tasks :
153+ verification_data = task .verification
154+ if not isinstance (verification_data , CollectionLogVerificationData ):
155+ continue
156+
157+ log_count = 0
158+ for item_id in verification_data .item_ids :
159+ # print(f"Checking item: {item['name']} with ID: {item['id']}")
160+ if find_by_id (cleaned_player_data , item_id ):
161+ log_count += 1
162+
163+ if log_count >= verification_data .count :
164+ completed_tasks .add (task .id )
165+ else :
166+ missing_tasks .append (task .name )
167+
168+ if action == 'check' :
169+ return missing_tasks
170+ else :
171+ sorted_completed_tasks = sorted (completed_tasks )
172+ # print(sorted_completed_tasks)
173+ return format_completed_tasks (sorted_completed_tasks )
174+
138175if __name__ == "__main__" :
139- check_logs ('Gerni Task' , tasklists .list_for_tier ('easy ' ), 'check' )
176+ print ( check_logs ('Gerni Task' , tasklists .list_for_tier ('elite ' ), 'check' ) )
0 commit comments