Ejemplo n.º 1
0
 def find_api_key_for_pilot(self, characterid):
     for apikey in self.get_character_api_keys():
         result = private.get_account_characters(apikey.keyid, apikey.verification_code)
         for character in result.characters:
             if str(character.characterID) == str(characterid):
                 return apikey
     raise Exception("No matching apikey for selected character is availble.")
Ejemplo n.º 2
0
    def activate_pilot(self, capsuler, apikey, characterid):
        available_characters = private.get_account_characters(apikey.keyid, apikey.verification_code)
        charids = []
        for character in available_characters.characters:
            charids.append(str(character.characterID))
        if not characterid in charids:
            # TODO somebody trying to hijack a character
            raise Exception("That's not your character!")
        public_info = Character.objects.get_character(characterid)

        if not public_info:
            # TODO good exceptions
            raise Exception("Character does not exist")
        try:
            ucorp = UserCorporation.objects.get(pk=public_info.corporationid)
        except UserCorporation.DoesNotExist:
            ucorp = UserCorporation(id=public_info.corporationid, public_info=public_info.corporation)
            ucorp.save()

        try:
            pilot = UserPilot.objects.get(id=characterid, user=capsuler, apikey=apikey)
        except UserPilot.DoesNotExist:
            pilot = UserPilot(id=characterid, user=capsuler, apikey=apikey)
        pilot.activated = True
        pilot.public_info = public_info
        pilot.corporation = ucorp
        pilot.save()
Ejemplo n.º 3
0
 def fetch_character_names(self):
     characters = []
     for apikey in self.get_character_api_keys():
         result = private.get_account_characters(apikey.keyid, apikey.verification_code)
         for character in result.characters:
             characters.append({"name": character.name, "id": character.characterID})
     return characters
Ejemplo n.º 4
0
 def get_characters(self):
     if self.keytype == "Corporation":
         return []
     characters = []
     result = private.get_account_characters(apikey.keyid, apikey.verification_code)
     for character in result.characters:
         characters.append({"name": character.name, "id": character.characterID})
     return characters