mirror of
https://github.com/nikdoof/test-auth.git
synced 2025-12-13 22:32:15 +00:00
31 lines
968 B
Python
31 lines
968 B
Python
from celery.decorators import task
|
|
from eve_proxy.models import CachedDocument
|
|
from eve_api.utils import basic_xml_parse_doc
|
|
from eve_api.models import EVESkill, EVESkillGroup
|
|
|
|
@task()
|
|
def import_eve_skills():
|
|
"""
|
|
Imports the skill tree and groups
|
|
"""
|
|
|
|
char_doc = CachedDocument.objects.api_query('/eve/SkillTree.xml.aspx')
|
|
d = basic_xml_parse_doc(char_doc)['eveapi']
|
|
if 'error' in d:
|
|
return
|
|
values = d['result']
|
|
|
|
for group in values['skillGroups']:
|
|
gobj, created = EVESkillGroup.objects.get_or_create(id=group['groupID'])
|
|
if created:
|
|
gobj.name = group['groupName']
|
|
gobj.save()
|
|
|
|
for skill in group['skills']:
|
|
skillobj, created = EVESkill.objects.get_or_create(id=skill['typeID'])
|
|
if created or not skillobj.name or not skillobj.group:
|
|
skillobj.name = skill['typeName']
|
|
skillobj.group = gobj
|
|
skillobj.save()
|
|
|