[Checkins] SVN: zope-foundation-admin/trunk/initial-members/ script for generating list of initial members.

Jim Fulton jim at zope.com
Fri May 12 18:11:44 EDT 2006


Log message for revision 68114:
  script for generating list of initial members.
  

Changed:
  A   zope-foundation-admin/trunk/initial-members/
  A   zope-foundation-admin/trunk/initial-members/invitation.txt
  A   zope-foundation-admin/trunk/initial-members/users.py

-=-
Added: zope-foundation-admin/trunk/initial-members/invitation.txt
===================================================================
--- zope-foundation-admin/trunk/initial-members/invitation.txt	2006-05-12 17:57:35 UTC (rev 68113)
+++ zope-foundation-admin/trunk/initial-members/invitation.txt	2006-05-12 22:11:44 UTC (rev 68114)
@@ -0,0 +1,35 @@
+You are invited to become a Zope Foundation Committer.  Zope
+Foundation Committers can vote for Zope Foundation board members and
+will have access to the future Zope Foundation Software Repository.
+
+You are receiving this message because you checked into the Zope
+software repository between January 1, 2005 and May 11, 2006.
+
+To become a member, you need to fill out the committer agreement at:
+
+  http://www.zope.org/DevHome/Foundation/ZopeFoundation_Committer_Agreement.pdf
+
+Note that you and your employer, if any, need to fill this out. 
+You can submit it in one of 3 ways:
+
+  - Send the signed agreement to the address indicated on the agreement.
+    (I don't recommend this option if you are outside of the U.S.)
+
+  - Fax it to the number shown the agreement.
+
+  - Email the scanned agreement to the email address shown on the
+    agreement, legal at zope.org.
+
+An email acknowledging receipt of the agreement will be sent so that
+you can know whether we have received it.
+
+Let me know if you have any questions that are specific to you.
+General Questions about the Zope Foundation or about the process of
+becoming a committer member should be send to the Zope-Foundation
+mailing list:
+
+  http://mail.zope.org/mailman/listinfo/foundation
+
+Note that you must subscribe to this list to send to it though.
+
+Jim


Property changes on: zope-foundation-admin/trunk/initial-members/invitation.txt
___________________________________________________________________
Name: svn:eol-style
   + native

Added: zope-foundation-admin/trunk/initial-members/users.py
===================================================================
--- zope-foundation-admin/trunk/initial-members/users.py	2006-05-12 17:57:35 UTC (rev 68113)
+++ zope-foundation-admin/trunk/initial-members/users.py	2006-05-12 22:11:44 UTC (rev 68114)
@@ -0,0 +1,63 @@
+import os, sys, traceback
+
+def cvs_users(users, start, stop):
+    history = os.popen(
+        'cvs -d :ext:cvs.zope.org:/cvs-repository history -cal -D'+start,
+        'r')
+    for record in history:
+        if record[0] not in 'MAR':
+            continue
+        action, date, time, offset, user = record.split()[:5]
+        if date > stop:
+            continue
+        users.add(user)
+
+def svn_users(users, start, stop):
+    log = os.popen(
+        'svn log -r{%s}:{%s} --xml svn+ssh://svn.zope.org/repos/main'
+        % (start, stop),
+        'r')
+    
+    for line in log:
+        if '<author>' in line:
+            assert '</author>' in line
+            user = line.split('<author>')[1].split('</author>')[0].strip()
+            users.add(user)
+
+def user_info(users):
+    info = []
+    for user in users:
+        record = os.popen('ssh svn.zope.org python ldump.py ' + user, 'r'
+                          ).read()
+        try:
+            record = eval(record)[0][1]
+        except:
+            print "User:", user, record
+            traceback.print_exc()
+            continue
+
+        info.append((
+            user,
+            record.get('givenName', ['(unknown)'])[0],
+            record.get('sn', ['(unknown)'])[0],
+            record.get('mail', ['(unknown)'])[0],
+            ))
+    return info
+
+def main(args=None):
+    if args is None:
+        args = sys.argv[1:]
+    [start, stop] = args
+    users = set()
+    cvs_users(users, start, stop)
+    print len(users)
+    svn_users(users, start, stop)
+    print len(users)
+    info = sorted(user_info(users))
+    info = ['\t'.join(map(lambda v: v.replace('\t', ' '), r)) for r in info]
+    open('users.%s.%s.txt' % (start, stop), 'w').write('\n'.join(info)+'\n')
+
+if __name__ == '__main__':
+    main()
+
+


Property changes on: zope-foundation-admin/trunk/initial-members/users.py
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native



More information about the Checkins mailing list