Files
test-auth/tools/update-directors.py

35 lines
868 B
Python
Executable File

#!/usr/bin/env python
"""Executes a Django cronjob"""
import os
# Set niceness
os.nice(20)
# Activate the virtualenv
path = os.path.dirname(os.path.realpath( __file__ ))
activate_this = os.path.join(path, 'env/bin/activate_this.py')
execfile(activate_this, dict(__file__=activate_this))
from django.core.management import setup_environ
import settings
setup_environ(settings)
from eve_api.models import EVEPlayerCharacter
from django.contrib.auth.models import Group, User
g = Group.objects.get(name="Alliance Directors")
users = []
for char in EVEPlayerCharacter.objects.filter(corporation__alliance__name="Test Alliance Please Ignore",director=True):
users.append(char.eveaccount_set.all()[0].user)
add = set(users) - set(g.user_set.all())
rem = set(g.user_set.all()) - set(users)
for m in rem:
m.groups.remove(g)
for m in add:
m.groups.add(g)