def handle_noargs(self, **options): from corp.models import Corporation, CorporationMemberLocation, CorporationMemberTracking, CorporationAccount from eve.views import get_corp_member_tracking from datetime import datetime as dt from django.utils.timezone import utc for corporation in Corporation.objects.all(): try: c_account = corporation.corporation_account.latest("id") except CorporationAccount.DoesNotExist: continue members_tracking = get_corp_member_tracking(c_account.key_id, c_account.v_code, extended=True) for member in corporation.corporation_members.all(): tracking = members_tracking.members.Get(member.member_id) location, response = CorporationMemberLocation.objects.get_or_create( location_id=tracking.get("locationID") ) location.location = tracking.get("location") location.save() CorporationMemberTracking.objects.get_or_create( member=member, corporation=corporation, logon=dt.utcfromtimestamp(tracking.get("logonDateTime")).replace(tzinfo=utc), logoff=dt.utcfromtimestamp(tracking.get("logoffDateTime")).replace(tzinfo=utc), base=location, )
def handle_noargs(self, **options): from corp.models import CorporationMember, Corporation from corp.models import CorporationAccount from eve.views import get_corp_member_tracking for corporation in Corporation.objects.all(): validate = [] try: c_account = corporation.corporation_account.latest('id') except CorporationAccount.DoesNotExist: continue members_tracking = get_corp_member_tracking( c_account.key_id, c_account.v_code ) for member in members_tracking.members: CorporationMember.objects.get_or_create( corporation=corporation, member_id=member.get('characterID'), member_name=member.get('name') ) validate.append(member.get('characterID')) invalid = CorporationMember.objects.filter( corporation=corporation ).exclude( member_id__in=validate ) for member in invalid: member.delete()