def update(): for key in UserAPIKey.objects.filter(is_valid = True): api_conn = api.connect_user(key) #TODO: put api check here! for char in api_conn.account.Characters().characters: get_mailing_lists(api_conn, char.characterID) get_mail(api_conn, char)
def update(): for key in UserAPIKey.objects.filter(is_valid = True): try: api_conn = api.connect_user(key) for char in api_conn.account.Characters().characters: try: get_mailing_lists(api_conn, char.characterID) get_mail(api_conn, char) #get_notifications(api_conn, char.characterID) except: logger.info('Unable to get mail for %s, likely API mask error.' % char.name) except: logger.info('plugin/mail: API invalid for user %s' % key.user.username)
def update_character_associations(user): LOG.debug("Updating character ownerships for '%s'..." % user.username) eve_accounts = [] invalid_api_keys = [] new_characters = set() new_corps = set() skills = [] # get all the user's registered api credentials for api_key in user.eve_accounts.all(): try: conn = api.connect_user(api_key) for char in api.get_account_characters(api_key): try: member = Member.objects.get(characterID=char.characterID) except Member.DoesNotExist: member = Member(characterID=char.characterID, name=char.name) char_info = conn.eve.CharacterInfo( characterID=member.characterID) set_char_info_attributes(member, char_info) # This also sets employment history. # TODO 1 move employment history into separate function # TODO 2 optimizie; only check if corp has changed, and add history records in save_all below. sheet = conn.char.CharacterSheet( characterID=member.characterID) set_extended_char_attributes(member, sheet) skills.extend(get_character_skills(member, sheet)) if not member in new_characters: corp = get_corp(char.corporationID) if member.corp != corp: member.corp = corp new_corps.add(corp) new_characters.add(member) api_key.is_valid = True except api.AuthenticationError, e: LOG.warning("%s (user: '******' keyID: %d)" % (str(e), user.username, api_key.keyID)) api_key.is_valid = False api_key.error = str(e) invalid_api_keys.append(api_key) except api.Error, e: # for all other errors, we abort the operation so that # character associations are not deleted by mistake and # therefore, that users find themselves with no access :) LOG.error("%d: %s (user: '******' keyID: %d)" % (e.code, str(e), user.username, api_key.keyID)) raise
def update(): for key in UserAPIKey.objects.filter(is_valid=True): try: api_conn = api.connect_user(key) for char in api_conn.account.Characters().characters: try: get_mailing_lists(api_conn, char.characterID) get_mail(api_conn, char) #get_notifications(api_conn, char.characterID) except: logger.info( 'Unable to get mail for %s, likely API mask error.' % char.name) except: logger.info('plugin/mail: API invalid for user %s' % key.user.username)
def update_character_associations(user): LOG.debug("Updating character ownerships for '%s'..." % user.username) eve_accounts = [] invalid_api_keys = [] new_characters = set() new_corps = set() skills = [] # get all the user's registered api credentials for api_key in user.eve_accounts.all(): try: conn = api.connect_user(api_key) for char in api.get_account_characters(api_key): try: member = Member.objects.get(characterID=char.characterID) except Member.DoesNotExist: member = Member(characterID=char.characterID, name=char.name) char_info = conn.eve.CharacterInfo(characterID=member.characterID) set_char_info_attributes(member, char_info) # This also sets employment history. # TODO 1 move employment history into separate function # TODO 2 optimizie; only check if corp has changed, and add history records in save_all below. sheet = conn.char.CharacterSheet(characterID=member.characterID) set_extended_char_attributes(member, sheet) skills.extend(get_character_skills(member, sheet)) if not member in new_characters: corp = get_corp(char.corporationID) if member.corp != corp: member.corp = corp new_corps.add(corp) new_characters.add(member) api_key.is_valid = True except api.AuthenticationError, e: LOG.warning("%s (user: '******' keyID: %d)" % (str(e), user.username, api_key.keyID)) api_key.is_valid = False api_key.error = str(e) invalid_api_keys.append(api_key) except api.Error, e: # for all other errors, we abort the operation so that # character associations are not deleted by mistake and # therefore, that users find themselves with no access :) LOG.error("%d: %s (user: '******' keyID: %d)" % (e.code, str(e), user.username, api_key.keyID)) raise