Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from fedora.client.fas2 import AccountSystem
- import getpass
- from datetime import datetime
- from time import mktime
- import sys
- # This is the magic time (in seconds since the UNIX Epoch) that Toshio gave me
- # where the end of the initial FAS2 import lies. Any timestamps prior to this
- # can't be trusted.
- # start_date = "2008-03-12 02:06:00"
- start_date = 1205305560
- print 'Username:',
- username = raw_input()
- password = getpass.getpass()
- foo = AccountSystem(username=username, password=password)
- # s/unapproved_roles/approved_roles/ to do the same analysis on current members
- amb = foo.group_by_name('ambassadors')['unapproved_roles']
- cla = foo.group_by_name('cla_done')['approved_roles']
- unapproved = {}
- for i in amb:
- creation = datetime.strptime(i['creation'][:19], '%Y-%m-%d %H:%M:%S')
- if mktime(creation.timetuple()) < start_date:
- # we don't care
- continue
- unapproved[i['person_id']] = {
- 'creation': creation,
- 'fas_sign': None,
- }
- for i in cla:
- if i['person_id'] in unapproved.keys():
- if i['approval'] == None:
- # we don't care
- unapproved.pop(i['person_id'])
- continue
- approval = datetime.strptime(i['approval'][:19], '%Y-%m-%d %H:%M:%S')
- if mktime(approval.timetuple()) < start_date:
- # we don't care
- unapproved.pop(i['person_id'])
- continue
- unapproved[i['person_id']]['fas_sign'] = approval
- data = []
- for i in unapproved:
- delta = unapproved[i]['creation'] - unapproved[i]['fas_sign']
- data.append(delta.days * 86400 + delta.seconds)
- data.sort()
- print data
- print len(data)
Add Comment
Please, Sign In to add comment