root / snf-astakos-app / astakos / im / scripts / delete_astakos_users.py @ cd1915aa
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() |