mirror of
https://github.com/nikdoof/test-auth.git
synced 2025-12-13 14:22:16 +00:00
51 lines
1.3 KiB
Python
Executable File
51 lines
1.3 KiB
Python
Executable File
#!/usr/bin/env python
|
|
"""Executes a Django cronjob"""
|
|
|
|
PACS = 29
|
|
|
|
import os, sys
|
|
|
|
# Set niceness
|
|
os.nice(20)
|
|
|
|
# Activate the virtualenv
|
|
path = os.path.dirname(os.path.realpath( __file__ ))
|
|
os.chdir(path)
|
|
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
|
|
|
|
from sso.tasks import update_user_access
|
|
|
|
g = Group.objects.get(name="Alliance Directors")
|
|
|
|
users = []
|
|
for char in EVEPlayerCharacter.objects.filter(corporation__alliance__name="Test Alliance Please Ignore",director=True):
|
|
if char.eveaccount_set.count() and char.eveaccount_set.all()[0].user and not (char.corporation.group and char.corporation.group.id == PACS):
|
|
users.append(char.eveaccount_set.all()[0].user)
|
|
|
|
add = set(users) - set(g.user_set.all())
|
|
rem = set(g.user_set.all()) - set(users)
|
|
|
|
print "Add:", add
|
|
print "Rem:", rem
|
|
|
|
|
|
for m in rem:
|
|
m.groups.remove(g)
|
|
update_user_access.delay(m.id)
|
|
|
|
for m in add:
|
|
m.groups.add(g)
|
|
update_user_access.delay(m.id)
|
|
|
|
#for u in set(users):
|
|
# print "Updating %s" % u
|
|
# update_user_access.delay(u.id)
|