reformat.py 1.3 KB

1234567891011121314151617181920212223242526272829303132
  1. def achievements_mapping(gamedata, profile):
  2. mapping = {item['id']: f"[{category['displayName']}] {item['name']} - {item['description']}" for category in gamedata['achievements'] for item in category['achievements']}
  3. return [mapping[i] for i in profile['completedAchievements']]
  4. def detailed_mapping(gamedata, profile):
  5. heroes_map = {k: v['displayName'] for k, v in gamedata['heroesMap'].items()}
  6. # [TODO] Formatting
  7. stats_map = {k: v['name'] for k, v in gamedata['stats'].items()}
  8. return {
  9. i: {
  10. heroes_map[k_outer]: {
  11. stats_map[k_inner]: v_inner for k_inner, v_inner in v_outer.items()
  12. }
  13. for k_outer, v_outer in profile['careerStats'][i]['stats'].items()
  14. }
  15. for i in ['ranked', 'unranked']
  16. }
  17. def hero_comparison_mapping(gamedata, profile):
  18. comparison_name_mapping = {i['id']: i['name'] for i in gamedata['heroComparison']}
  19. heroes_map = {k: v['displayName'] for k, v in gamedata['heroesMap'].items()}
  20. return {
  21. i: {
  22. comparison_name_mapping[k]: {
  23. heroes_map[item['hero']]: item['value'] for item in v
  24. }
  25. for k, v in profile['heroComparison'][i].items()
  26. }
  27. for i in ['ranked', 'unranked']
  28. }