def clean(self): if EveManager.check_if_api_key_pair_exist(self.cleaned_data['api_id']): raise forms.ValidationError(u'API key already exist') check_blue = False try: check_blue = self.cleaned_data['is_blue'] except: pass if check_blue: if settings.BLUE_API_ACCOUNT: if not EveApiManager.check_api_is_type_account(self.cleaned_data['api_id'], self.cleaned_data['api_key']): raise forms.ValidationError(u'API not of type account') if not EveApiManager.check_blue_api_is_full(self.cleaned_data['api_id'], self.cleaned_data['api_key']): raise forms.ValidationError(u'API supplied is too restricted. Minimum access mask is ' + str(settings.BLUE_API_MASK)) else: if settings.MEMBER_API_ACCOUNT: if not EveApiManager.check_api_is_type_account(self.cleaned_data['api_id'], self.cleaned_data['api_key']): raise forms.ValidationError(u'API not of type account') if not EveApiManager.check_api_is_full(self.cleaned_data['api_id'], self.cleaned_data['api_key']): raise forms.ValidationError(u'API supplied is too restricted. Minimum access mask is ' + str(settings.MEMBER_API_MASK)) return self.cleaned_data
def clean(self): super(UpdateKeyForm, self).clean() if 'api_id' in self.cleaned_data and 'api_key' in self.cleaned_data: if EveManager.check_if_api_key_pair_exist(self.cleaned_data['api_id']): logger.debug("UpdateKeyForm failed cleaning as API id %s already exists." % self.cleaned_data['api_id']) raise forms.ValidationError(u'API key already exist') if EveApiManager.api_key_is_valid(self.cleaned_data['api_id'], self.cleaned_data['api_key']) is False: raise forms.ValidationError(u'API key is invalid') chars = EveApiManager.get_characters_from_api(self.cleaned_data['api_id'], self.cleaned_data['api_key']).result states = [] states.append(self.user_state) for char in chars: evechar = EveCharacter() evechar.character_name = chars[char]['name'] evechar.corporation_id = chars[char]['corp']['id'] evechar.alliance_id = chars[char]['alliance']['id'] state = determine_membership_by_character(evechar) logger.debug("API ID %s character %s has state %s" % (self.cleaned_data['api_id'], evechar, state)) states.append(state) if 'MEMBER' in states: if EveApiManager.validate_member_api(self.cleaned_data['api_id'], self.cleaned_data['api_key']) is False: raise forms.ValidationError(u'API must meet member requirements') if 'BLUE' in states: if EveApiManager.validate_blue_api(self.cleaned_data['api_id'], self.cleaned_data['api_key']) is False: raise forms.ValidationError(u'API must meet blue requirements') return self.cleaned_data
def clean(self): super(UpdateKeyForm, self).clean() if 'api_id' in self.cleaned_data and 'api_key' in self.cleaned_data: try: if EveManager.check_if_api_key_pair_exist( self.cleaned_data['api_id']): logger.debug( "UpdateKeyForm failed cleaning as API id %s already exists." % self.cleaned_data['api_id']) raise forms.ValidationError(u'API key already exist') if EveApiManager.api_key_is_valid( self.cleaned_data['api_id'], self.cleaned_data['api_key']) is False: raise forms.ValidationError(u'API key is invalid') if (settings.REJECT_OLD_APIS and EveManager.check_if_api_key_pair_is_new( self.cleaned_data['api_id'], settings.REJECT_OLD_APIS_MARGIN) is False): raise forms.ValidationError( u'API key is too old. Please create a new key') chars = EveApiManager.get_characters_from_api( self.cleaned_data['api_id'], self.cleaned_data['api_key']).result states = [] states.append(self.user_state) for char in chars: evechar = EveCharacter() evechar.character_name = chars[char]['name'] evechar.corporation_id = chars[char]['corp']['id'] evechar.alliance_id = chars[char]['alliance']['id'] state = determine_membership_by_character(evechar) logger.debug("API ID %s character %s has state %s" % (self.cleaned_data['api_id'], evechar, state)) states.append(state) if 'MEMBER' in states: if EveApiManager.validate_member_api( self.cleaned_data['api_id'], self.cleaned_data['api_key']) is False: raise forms.ValidationError( u'API must meet member requirements') if 'BLUE' in states: if EveApiManager.validate_blue_api( self.cleaned_data['api_id'], self.cleaned_data['api_key']) is False: raise forms.ValidationError( u'API must meet blue requirements') return self.cleaned_data except evelink.api.APIError as e: logger.debug("Got error code %s while validating API %s" % (e.code, self.cleaned_data['api_id'])) if int(e.code) in [221, 222]: raise forms.ValidationError("API key failed validation") else: raise forms.ValidationError("Failed to reach API servers")
def clean(self): super(UpdateKeyForm, self).clean() if "api_id" in self.cleaned_data and "api_key" in self.cleaned_data: try: if EveManager.check_if_api_key_pair_exist(self.cleaned_data["api_id"]): logger.debug( "UpdateKeyForm failed cleaning as API id %s already exists." % self.cleaned_data["api_id"] ) raise forms.ValidationError(u"API key already exist") if EveApiManager.api_key_is_valid(self.cleaned_data["api_id"], self.cleaned_data["api_key"]) is False: raise forms.ValidationError(u"API key is invalid") chars = EveApiManager.get_characters_from_api( self.cleaned_data["api_id"], self.cleaned_data["api_key"] ).result states = [] states.append(self.user_state) for char in chars: evechar = EveCharacter() evechar.character_name = chars[char]["name"] evechar.corporation_id = chars[char]["corp"]["id"] evechar.alliance_id = chars[char]["alliance"]["id"] state = determine_membership_by_character(evechar) logger.debug("API ID %s character %s has state %s" % (self.cleaned_data["api_id"], evechar, state)) states.append(state) if "MEMBER" in states: if ( EveApiManager.validate_member_api(self.cleaned_data["api_id"], self.cleaned_data["api_key"]) is False ): raise forms.ValidationError(u"API must meet member requirements") if "BLUE" in states: if ( EveApiManager.validate_blue_api(self.cleaned_data["api_id"], self.cleaned_data["api_key"]) is False ): raise forms.ValidationError(u"API must meet blue requirements") return self.cleaned_data except evelink.api.APIError as e: logger.debug("Got error code %s while validating API %s" % (e.code, self.cleaned_data["api_id"])) if int(e.code) in [221, 222]: raise forms.ValidationError("API key failed validation") else: raise forms.ValidationError("Failed to reach API servers")
def clean(self): super(UpdateKeyForm, self).clean() if 'api_id' in self.cleaned_data and 'api_key' in self.cleaned_data: if EveManager.check_if_api_key_pair_exist( self.cleaned_data['api_id']): logger.debug( "UpdateKeyForm failed cleaning as API id %s already exists." % self.cleaned_data['api_id']) raise forms.ValidationError(u'API key already exist') if EveApiManager.api_key_is_valid( self.cleaned_data['api_id'], self.cleaned_data['api_key']) is False: raise forms.ValidationError(u'API key is invalid') chars = EveApiManager.get_characters_from_api( self.cleaned_data['api_id'], self.cleaned_data['api_key']).result states = [] states.append(self.user_state) for char in chars: evechar = EveCharacter() evechar.character_name = chars[char]['name'] evechar.corporation_id = chars[char]['corp']['id'] evechar.alliance_id = chars[char]['alliance']['id'] state = determine_membership_by_character(evechar) logger.debug("API ID %s character %s has state %s" % (self.cleaned_data['api_id'], evechar, state)) states.append(state) if 'MEMBER' in states: if EveApiManager.validate_member_api( self.cleaned_data['api_id'], self.cleaned_data['api_key']) is False: raise forms.ValidationError( u'API must meet member requirements') if 'BLUE' in states: if EveApiManager.validate_blue_api( self.cleaned_data['api_id'], self.cleaned_data['api_key']) is False: raise forms.ValidationError( u'API must meet blue requirements') return self.cleaned_data
def clean(self): if EveManager.check_if_api_key_pair_exist(self.cleaned_data['api_id']): raise forms.ValidationError(u'API key already exist') check_blue = False try: check_blue = self.cleaned_data['is_blue'] except: pass if not check_blue: if not EveApiManager.check_api_is_type_account(self.cleaned_data['api_id'], self.cleaned_data['api_key']): raise forms.ValidationError(u'API not of type account') if not EveApiManager.check_api_is_full(self.cleaned_data['api_id'], self.cleaned_data['api_key']): raise forms.ValidationError(u'API supplied is not a full api key') return self.cleaned_data
def clean(self): super(UpdateKeyForm, self).clean() if EveManager.check_if_api_key_pair_exist(self.cleaned_data['api_id']): logger.debug("UpdateKeyForm failed cleaning as API id %s already exists." % self.cleaned_data['api_id']) if EveApiKeyPair.objects.get(api_id=self.cleaned_data['api_id']).user: # allow orphaned APIs to proceed to SSO validation upon re-entry raise forms.ValidationError('API key already exist') if settings.REJECT_OLD_APIS and not EveManager.check_if_api_key_pair_is_new( self.cleaned_data['api_id'], settings.REJECT_OLD_APIS_MARGIN): raise forms.ValidationError('API key is too old. Please create a new key') try: EveApiManager.validate_api(self.cleaned_data['api_id'], self.cleaned_data['api_key'], self.user) return self.cleaned_data except EveApiManager.ApiValidationError as e: raise forms.ValidationError(str(e)) except evelink.api.APIError as e: logger.debug("Got error code %s while validating API %s" % (e.code, self.cleaned_data['api_id'])) raise forms.ValidationError('Error while checking API key (%s)' % e.code)
def clean(self): if EveManager.check_if_api_key_pair_exist(self.cleaned_data['api_id']): raise forms.ValidationError(u'API key already exist') check_blue = False try: check_blue = self.cleaned_data['is_blue'] except: pass if not check_blue: if not EveApiManager.check_api_is_type_account(self.cleaned_data['api_id'], self.cleaned_data['api_key']): raise forms.ValidationError(u'API not of type account') if not EveApiManager.check_api_is_full(self.cleaned_data['api_id'], self.cleaned_data['api_key']): raise forms.ValidationError(u'API supplied is not a full api key') return self.cleaned_data
def clean(self): super(UpdateKeyForm, self).clean() if 'api_id' in self.cleaned_data and 'api_key' in self.cleaned_data: try: if EveManager.check_if_api_key_pair_exist(self.cleaned_data['api_id']): logger.debug("UpdateKeyForm failed cleaning as API id %s already exists." % self.cleaned_data['api_id']) raise forms.ValidationError(u'API key already exist') if EveApiManager.api_key_is_valid(self.cleaned_data['api_id'], self.cleaned_data['api_key']) is False: raise forms.ValidationError(u'API key is invalid') if (settings.REJECT_OLD_APIS and EveManager.check_if_api_key_pair_is_new(self.cleaned_data['api_id'], settings.REJECT_OLD_APIS_MARGIN) is False): raise forms.ValidationError(u'API key is too old. Please create a new key') chars = EveApiManager.get_characters_from_api(self.cleaned_data['api_id'], self.cleaned_data['api_key']).result states = [] states.append(self.user_state) for char in chars: evechar = EveCharacter() evechar.character_name = chars[char]['name'] evechar.corporation_id = chars[char]['corp']['id'] evechar.alliance_id = chars[char]['alliance']['id'] state = determine_membership_by_character(evechar) logger.debug("API ID %s character %s has state %s" % (self.cleaned_data['api_id'], evechar, state)) states.append(state) if 'MEMBER' in states: if EveApiManager.validate_member_api(self.cleaned_data['api_id'], self.cleaned_data['api_key']) is False: raise forms.ValidationError(u'API must meet member requirements') if 'BLUE' in states: if EveApiManager.validate_blue_api(self.cleaned_data['api_id'], self.cleaned_data['api_key']) is False: raise forms.ValidationError(u'API must meet blue requirements') if 'BLUE_10' in states: if EveApiManager.validate_blue_api(self.cleaned_data['api_id'], self.cleaned_data['api_key']) is False: raise forms.ValidationError(u'API must meet blue requirements') return self.cleaned_data except evelink.api.APIError as e: logger.debug("Got error code %s while validating API %s" % (e.code, self.cleaned_data['api_id'])) if int(e.code) in [221, 222]: raise forms.ValidationError("API key failed validation") else: raise forms.ValidationError("Failed to reach API servers")
def clean(self): if 'api_id' not in self.cleaned_data or 'api_key' not in self.cleaned_data: # need to check if api_id and vcode in cleaned_data because # if they fail, they get removed from the dict but this method still happens return self.cleaned_data if EveManager.check_if_api_key_pair_exist(self.cleaned_data['api_id']): logger.debug("UpdateKeyForm failed cleaning as API id %s already exists." % self.cleaned_data['api_id']) if EveApiKeyPair.objects.get(api_id=self.cleaned_data['api_id']).user: # allow orphaned APIs to proceed to SSO validation upon re-entry raise forms.ValidationError('API key already exist') if settings.REJECT_OLD_APIS and not EveManager.check_if_api_key_pair_is_new( self.cleaned_data['api_id'], settings.REJECT_OLD_APIS_MARGIN): raise forms.ValidationError('API key is too old. Please create a new key') try: EveApiManager.validate_api(self.cleaned_data['api_id'], self.cleaned_data['api_key'], self.user) return self.cleaned_data except EveApiManager.ApiValidationError as e: raise forms.ValidationError(str(e)) except evelink.api.APIError as e: logger.debug("Got error code %s while validating API %s" % (e.code, self.cleaned_data['api_id'])) raise forms.ValidationError('Error while checking API key (%s)' % e.code)
def clean(self): if EveManager.check_if_api_key_pair_exist(self.cleaned_data['api_id']): logger.debug("UpdateKeyForm failed cleaning as API id %s already exists." % self.cleaned_data['api_id']) raise forms.ValidationError(u'API key already exist') check_blue = False try: check_blue = self.cleaned_data['is_blue'] except: pass if check_blue: if settings.BLUE_API_ACCOUNT: if not EveApiManager.check_api_is_type_account(self.cleaned_data['api_id'], self.cleaned_data['api_key']): logger.debug("UpdateKeyForm failed cleaning as API id %s does not meet blue api key account requirement." % self.cleaned_data['api_id']) raise forms.ValidationError(u'API not of type account') if not EveApiManager.check_blue_api_is_full(self.cleaned_data['api_id'], self.cleaned_data['api_key']): logger.debug("UpdateKeyForm failed cleaning as API id %s does not meet minimum blue api access mask requirement." % self.cleaned_data['api_id']) raise forms.ValidationError(u'API supplied is too restricted. Minimum access mask is ' + str(settings.BLUE_API_MASK)) else: if settings.MEMBER_API_ACCOUNT: if not EveApiManager.check_api_is_type_account(self.cleaned_data['api_id'], self.cleaned_data['api_key']): logger.debug("UpdateKeyForm failed cleaning as API id %s does not meet member api key account requirement." % self.cleaned_data['api_id']) raise forms.ValidationError(u'API not of type account') if not EveApiManager.check_api_is_full(self.cleaned_data['api_id'], self.cleaned_data['api_key']): logger.debug("UpdateKeyForm failed cleaning as API id %s does not meet minimum member api access mask requirement." % self.cleaned_data['api_id']) raise forms.ValidationError(u'API supplied is too restricted. Minimum access mask is ' + str(settings.MEMBER_API_MASK)) return self.cleaned_data