def __init__(self, token=None, adapter=None): self.client = esi_client_factory(token=token, Alliance='v1', Character='v4', Corporation='v2', Universe='v2') self.adapter = adapter or self
def get_faction(self, faction_id): try: data = esi_client_factory(Universe='v1').Universe.get_factions().result() faction_data = [faction for faction in data if faction['faction_id'] == faction_id][0] return Faction(self, faction_data['faction_id'], faction_data['name'], faction_data['description']) except KeyError: raise ObjectNotFound(faction_id, 'faction')
def __get_names_from_api(eve_entity_ids, count=1): """ Get the names of the given entity ids from the EVE API servers :param eve_entity_ids: array of int entity ids whos names to fetch :return: array of objects with keys id and name or None if unsuccessful """ logger.debug( "Attempting to get entity name from API for ids {0}".format( eve_entity_ids)) client = esi_client_factory(spec_file=SWAGGER_SPEC_PATH) try: infos = client.Universe.post_universe_names( ids=eve_entity_ids).result() return infos logger.error( "Error occured while trying to query api for entity name id=%s", eve_entity_ids) except HTTPNotFound: raise ObjectNotFound(eve_entity_ids, 'universe_entitys') except (HTTPBadGateway, HTTPGatewayTimeout): if count >= 5: logger.exception('Failed to get entity name %s times.', count) return None else: sleep(count**2) return EveEntityManager.__get_names_from_api(eve_entity_ids, count=count + 1)
def get_esi_client(self, **kwargs): """ Creates an authenticated ESI client with this token. :param kwargs: Extra spec versioning as per `esi.clients.esi_client_factory` :return: :class:`bravado.client.SwaggerClient` """ return esi_client_factory(token=self, **kwargs)
def search_name(request): add_perms = request.user.has_perm('toolbox.add_basic_eve_notes') add_global_perms = request.user.has_perm('toolbox.add_new_eve_notes') if not (add_perms or add_global_perms): messages.info(request, "No Permissions") return redirect('toolbox:eve_note_board') if request.method == 'POST': form = SearchEveName(request.POST) # check whether it's valid: if form.is_valid(): name = form.cleaned_data['name'] try: c = esi_client_factory() hits = c.Search.get_search(search=name, categories=['character', 'corporation', 'alliance']).result() corps = hits.get('corporation', []) chars = hits.get('character', []) alliance = hits.get('alliance', []) names_list = [] if corps: names_list += corps if chars: names_list += chars if alliance: names_list += alliance names = c.Universe.post_universe_names(ids=names_list).result() except: messages.error(request, "ESI Error. Please Try again later.") return redirect('toolbox:eve_note_board') context = {'form': form, 'names': names, 'restricted_perms': add_global_perms } return render(request, 'toolbox/search_name.html', context) else: form = SearchEveName() return render(request, 'toolbox/search_name.html', {'form': form})
def update_old_eve_notes(): character_notes = EveNote.objects.filter(eve_catagory='character', corporation_id__isnull=True) c = esi_client_factory() for character in character_notes: print("Updating %s" % character.eve_name) char_info = c.Character.get_characters_character_id( character_id=character.eve_id).result() character.corporation_id = char_info.get('corporation_id') corp_info = c.Corporation.get_corporations_corporation_id( corporation_id=char_info.get('corporation_id')).result() character.corporation_name = corp_info.get('name') if corp_info.get('alliance_id', False): character.alliance_id = corp_info.get('alliance_id') alliance_info = c.Alliance.get_alliances_alliance_id( alliance_id=corp_info.get('alliance_id')).result() character.alliance_name = alliance_info.get('name') character.save()
def client(self): if self._client is None: self._client = esi_client_factory() # all groups latest return self._client
def __init__(self, token=None, adapter=None): self.client = esi_client_factory(token=token, spec_file=SWAGGER_SPEC_PATH) self.adapter = adapter or self
def api_get_instance(cls): token = Token.objects.filter(character_id=cls.charID)\ .require_scopes(REQUIRED_TOKENS).require_valid()[0] return esi_client_factory(token=token, spec_file=SWAGGER_SPEC_PATH)
def _faction_name_to_id(name): factions = esi_client_factory(Universe='v1').get_factions().result() try: return [f['faction_id'] for f in factions if f['name'].startswith(name)][0] except KeyError: return None
def __init__(self, token=None, adapter=None): self.client = esi_client_factory(token=token) self.adapter = adapter or self