@@ -15,35 +15,39 @@ def fetch_data(school_id):
1515 return response .json ()
1616
1717
18- def sort_dict (data ):
19- return {key : value for key , value in sorted (data .items (), key = lambda k : k [0 ])}
20-
21-
2218def get_clean_item (data ):
23- return set (
24- {
19+ return {
2520 key : value
2621 for key , value in data .items ()
2722 if value is not None and key != "update_timestamp"
2823 }
29- )
3024
3125
32- def compare_schools (new_school , old_school ):
33- new_school = sort_dict (new_school )
34- old_school = sort_dict (old_school )
26+ def dict_diff (dict1 , dict2 ):
27+ all_keys = set (dict1 .keys ()) | set (dict2 .keys ())
28+
29+ differences = {}
30+ for key in all_keys :
31+ val1 = dict1 .get (key , None )
32+ val2 = dict2 .get (key , None )
3533
34+ if val1 != val2 :
35+ differences [key ] = (val1 , val2 )
36+
37+ return differences
38+
39+
40+ def compare_schools (new_school , old_school ):
3641 new_values = get_clean_item (new_school )
3742 old_values = get_clean_item (old_school )
3843
39- differences = new_values ^ old_values
40- if not differences :
44+ differences = dict_diff ( new_values , old_values )
45+ if len ( differences ) == 0 :
4146 print (" no changes \n " )
4247 return
4348
44- print (f"Difference: { differences } " )
45- print (f"Old: { old_school } " )
46- print (f"New: { new_school } " )
49+ print (f"Difference found:" )
50+ print (json .dumps (differences , indent = 2 ))
4751
4852
4953def main ():
0 commit comments