some general fixes needed to handle NPC corps.
This commit is contained in:
@@ -1,12 +1,10 @@
|
||||
from datetime import date
|
||||
|
||||
import requests
|
||||
from dateutil import parser
|
||||
from django.contrib.auth.models import User
|
||||
from django.db import models
|
||||
from django.db.models.signals import post_save
|
||||
from django.dispatch import receiver
|
||||
# Create your models here.
|
||||
from django.utils import timezone
|
||||
from datetime import date
|
||||
|
||||
|
||||
class Station(models.Model):
|
||||
@@ -79,20 +77,11 @@ class Alliance(models.Model):
|
||||
res = requests.get(f'https://esi.tech.ccp.is/latest/alliances/{self.id}/?datasource=tranquility')
|
||||
data = res.json()
|
||||
self.name = data['name']
|
||||
creator, created = Character.objects.get_or_create(id=data['creator_id'])
|
||||
if created:
|
||||
creator.update()
|
||||
self.creator = creator
|
||||
creator_corporation, created = Corporation.objects.get_or_create(id=data['creator_corporation_id'])
|
||||
if created:
|
||||
creator_corporation.update()
|
||||
self.creator_corporation = creator_corporation
|
||||
self.creator, _ = Character.objects.get_or_create(id=data['creator_id'])
|
||||
self.creator_corporation, _ = Corporation.objects.get_or_create(id=data['creator_corporation_id'])
|
||||
self.ticker = data['ticker']
|
||||
self.date_founded = parser.parse(data['date_founded'])
|
||||
executor_corporation, created = Corporation.objects.get_or_create(id=data['executor_corporation_id'])
|
||||
if created:
|
||||
executor_corporation.update()
|
||||
self.executor_corporation = executor_corporation
|
||||
self.executor_corporation, _ = Corporation.objects.get_or_create(id=data['executor_corporation_id'])
|
||||
self.save()
|
||||
|
||||
def __str__(self):
|
||||
@@ -147,29 +136,17 @@ class Corporation(models.Model):
|
||||
data: dict = res.json()
|
||||
self.name = data['name']
|
||||
self.ticker = data['ticker']
|
||||
ceo, created = Character.objects.get_or_create(id=data['ceo_id'])
|
||||
if created:
|
||||
ceo.update()
|
||||
self.ceo = ceo
|
||||
self.ceo, _ = Character.objects.get_or_create(id=data['ceo_id'])
|
||||
self.tax_rate = data['tax_rate']
|
||||
creator, created = Character.objects.get_or_create(id=data['creator_id'])
|
||||
if created:
|
||||
creator.update()
|
||||
self.creator = creator
|
||||
self.creator, _ = Character.objects.get_or_create(id=data['creator_id'])
|
||||
if 'alliance_id' in data:
|
||||
alliance, created = Alliance.objects.get_or_create(id=data['alliance_id'])
|
||||
if created:
|
||||
alliance.update()
|
||||
self.alliance = alliance
|
||||
self.alliance, _ = Alliance.objects.get_or_create(id=data['alliance_id'])
|
||||
# The backup date here is the release date of eve-online it
|
||||
# raises a warning but timezones don't really matter here.
|
||||
self.date_founded = parser.parse(data['date_founded']) if 'date_founded' in data else date(2003, 5, 6)
|
||||
self.description = data['description']
|
||||
self.url = data.get('url', None)
|
||||
home_station, created = Station.objects.get_or_create(id=data['home_station_id'])
|
||||
if created:
|
||||
home_station.update()
|
||||
self.home_station = home_station
|
||||
self.home_station, _ = Station.objects.get_or_create(id=data['home_station_id'])
|
||||
self.save()
|
||||
|
||||
def __str__(self):
|
||||
@@ -203,10 +180,7 @@ class Character(models.Model):
|
||||
self.name = 'NPC Character'
|
||||
self.save()
|
||||
return
|
||||
corp, created = Corporation.objects.get_or_create(id=data['corporation_id'])
|
||||
if created:
|
||||
corp.update()
|
||||
self.corp = corp
|
||||
self.corp, _ = Corporation.objects.get_or_create(id=data['corporation_id'])
|
||||
self.name = data['name']
|
||||
self.security_status = data['security_status']
|
||||
self.birthday = parser.parse(data['birthday'])
|
||||
|
||||
Reference in New Issue
Block a user