Пример #1
0
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)
Пример #2
0
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)
Пример #3
0
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
Пример #4
0
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)
Пример #5
0
Файл: users.py Проект: evecm/ecm
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