mirror of
https://github.com/nikdoof/limetime.git
synced 2025-12-13 09:42:26 +00:00
23 lines
990 B
Python
23 lines
990 B
Python
from django.core.management.base import BaseCommand, CommandError
|
|
from django.db import transaction
|
|
from timer.models import Alliance, Corporation
|
|
from eveapi import EVEAPIConnection
|
|
|
|
class Command(BaseCommand):
|
|
args = ''
|
|
help = 'Updates alliances from the EVE API'
|
|
|
|
def handle(self, *args, **options):
|
|
api = EVEAPIConnection()
|
|
|
|
alliance_list = api.eve.AllianceList().alliances
|
|
print 'Updating %d alliances... ' % len(alliance_list)
|
|
with transaction.commit_on_success():
|
|
for alliance in alliance_list:
|
|
allobj, created = Alliance.objects.get_or_create(pk=alliance.allianceID)
|
|
allobj.name = alliance.name
|
|
allobj.save()
|
|
corp_ids = [x.corporationID for x in alliance.memberCorporations]
|
|
Corporation.objects.exclude(pk__in=corp_ids).update(alliance=None)
|
|
Corporation.objects.filter(pk__in=corp_ids).update(alliance=allobj)
|
|
print 'Done' |