MCPcopy Create free account
hub / github.com/RocketMap/RocketMap / parse_gyms

Function parse_gyms

pogom/models.py:721–837  ·  view source on GitHub ↗
(args, gym_responses, wh_update_queue)

Source from the content-addressed store, hash-verified

719
720
721def parse_gyms(args, gym_responses, wh_update_queue):
722 gym_details = {}
723 gym_members = {}
724 gym_pokemon = {}
725 trainers = {}
726
727 i = 0
728 for g in gym_responses.values():
729 gym_state = g['gym_state']
730 gym_id = gym_state['fort_data']['id']
731
732 gym_details[gym_id] = {
733 'gym_id': gym_id,
734 'name': g['name'],
735 'description': g.get('description'),
736 'url': g['urls'][0],
737 }
738
739 if args.webhooks:
740 webhook_data = {
741 'id': gym_id,
742 'latitude': gym_state['fort_data']['latitude'],
743 'longitude': gym_state['fort_data']['longitude'],
744 'team': gym_state['fort_data'].get('owned_by_team', 0),
745 'name': g['name'],
746 'description': g.get('description'),
747 'url': g['urls'][0],
748 'pokemon': [],
749 }
750
751 for member in gym_state.get('memberships', []):
752 gym_members[i] = {
753 'gym_id': gym_id,
754 'pokemon_uid': member['pokemon_data']['id'],
755 }
756
757 gym_pokemon[i] = {
758 'pokemon_uid': member['pokemon_data']['id'],
759 'pokemon_id': member['pokemon_data']['pokemon_id'],
760 'cp': member['pokemon_data']['cp'],
761 'trainer_name': member['trainer_public_profile']['name'],
762 'num_upgrades': member['pokemon_data'].get('num_upgrades', 0),
763 'move_1': member['pokemon_data'].get('move_1'),
764 'move_2': member['pokemon_data'].get('move_2'),
765 'height': member['pokemon_data'].get('height_m'),
766 'weight': member['pokemon_data'].get('weight_kg'),
767 'stamina': member['pokemon_data'].get('stamina'),
768 'stamina_max': member['pokemon_data'].get('stamina_max'),
769 'cp_multiplier': member['pokemon_data'].get('cp_multiplier'),
770 'additional_cp_multiplier': member['pokemon_data'].get('additional_cp_multiplier', 0),
771 'iv_defense': member['pokemon_data'].get('individual_defense', 0),
772 'iv_stamina': member['pokemon_data'].get('individual_stamina', 0),
773 'iv_attack': member['pokemon_data'].get('individual_attack', 0),
774 'last_seen': datetime.utcnow(),
775 }
776
777 trainers[i] = {
778 'name': member['trainer_public_profile']['name'],

Callers 1

search_worker_threadFunction · 0.85

Calls 2

bulk_upsertFunction · 0.85
appendMethod · 0.80

Tested by

no test coverage detected