Statistics
| Branch: | Tag: | Revision:

root / snf-astakos-app / astakos / im / scripts / delete_astakos_users.py @ 764d99c4

History | View | Annotate | Download (901 Bytes)

1 55f8c5d8 Georgios D. Tsoukalas
#!/usr/bin/env python
2 55f8c5d8 Georgios D. Tsoukalas
3 55f8c5d8 Georgios D. Tsoukalas
import os
4 55f8c5d8 Georgios D. Tsoukalas
import sys
5 55f8c5d8 Georgios D. Tsoukalas
from time import sleep
6 55f8c5d8 Georgios D. Tsoukalas
7 55f8c5d8 Georgios D. Tsoukalas
os.environ['DJANGO_SETTINGS_MODULE'] = 'synnefo.settings'
8 55f8c5d8 Georgios D. Tsoukalas
9 55f8c5d8 Georgios D. Tsoukalas
import astakos
10 55f8c5d8 Georgios D. Tsoukalas
from astakos.im.models import AstakosUser as A
11 55f8c5d8 Georgios D. Tsoukalas
12 55f8c5d8 Georgios D. Tsoukalas
def user_filter(user):
13 55f8c5d8 Georgios D. Tsoukalas
    return A.objects.filter(email__iexact=user.email).count() > 1
14 55f8c5d8 Georgios D. Tsoukalas
15 55f8c5d8 Georgios D. Tsoukalas
argv = sys.argv
16 55f8c5d8 Georgios D. Tsoukalas
argc = len(sys.argv)
17 55f8c5d8 Georgios D. Tsoukalas
18 55f8c5d8 Georgios D. Tsoukalas
if argc < 2:
19 55f8c5d8 Georgios D. Tsoukalas
    print "Usage: ./delete_astakos_users.py <id>..."
20 55f8c5d8 Georgios D. Tsoukalas
    raise SystemExit()
21 55f8c5d8 Georgios D. Tsoukalas
22 55f8c5d8 Georgios D. Tsoukalas
id_list = [int(x) for x in argv[1:]]
23 55f8c5d8 Georgios D. Tsoukalas
24 55f8c5d8 Georgios D. Tsoukalas
print ""
25 55f8c5d8 Georgios D. Tsoukalas
print "This will permanently delete the following users:\n"
26 55f8c5d8 Georgios D. Tsoukalas
print "id: email"
27 55f8c5d8 Georgios D. Tsoukalas
print "--  -----"
28 55f8c5d8 Georgios D. Tsoukalas
29 55f8c5d8 Georgios D. Tsoukalas
users = A.objects.filter(id__in=id_list)
30 55f8c5d8 Georgios D. Tsoukalas
for user in users:
31 55f8c5d8 Georgios D. Tsoukalas
    print "%s: %s" % (user.id, user.email)
32 55f8c5d8 Georgios D. Tsoukalas
33 55f8c5d8 Georgios D. Tsoukalas
print "\nExecute? (yes/no): ",
34 55f8c5d8 Georgios D. Tsoukalas
line = raw_input().rstrip()
35 55f8c5d8 Georgios D. Tsoukalas
if line != 'yes':
36 55f8c5d8 Georgios D. Tsoukalas
    print "\nCancelled"
37 55f8c5d8 Georgios D. Tsoukalas
    raise SystemExit()
38 55f8c5d8 Georgios D. Tsoukalas
39 55f8c5d8 Georgios D. Tsoukalas
print "\nConfirmed."
40 55f8c5d8 Georgios D. Tsoukalas
sleep(2)
41 55f8c5d8 Georgios D. Tsoukalas
for user in users:
42 55f8c5d8 Georgios D. Tsoukalas
    print "deleting %s: %s" % (user.id, user.email)
43 55f8c5d8 Georgios D. Tsoukalas
    user.delete()