You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@community.apache.org by hb...@apache.org on 2015/05/10 23:07:08 UTC

svn commit: r1678644 - /comdev/projects.apache.org/scripts/import/parsecommittees.py

Author: hboutemy
Date: Sun May 10 21:07:07 2015
New Revision: 1678644

URL: http://svn.apache.org/r1678644
Log:
extract reporting cycles from committee-info.txt

Modified:
    comdev/projects.apache.org/scripts/import/parsecommittees.py

Modified: comdev/projects.apache.org/scripts/import/parsecommittees.py
URL: http://svn.apache.org/viewvc/comdev/projects.apache.org/scripts/import/parsecommittees.py?rev=1678644&r1=1678643&r2=1678644&view=diff
==============================================================================
--- comdev/projects.apache.org/scripts/import/parsecommittees.py (original)
+++ comdev/projects.apache.org/scripts/import/parsecommittees.py Sun May 10 21:07:07 2015
@@ -1,6 +1,7 @@
 import re
 import json
 import sys
+import io
 
 # Committee names from committees-info.txt that do not match tlps-evolution.json
 renamesCommittee2Json = {
@@ -47,6 +48,19 @@ except:
     print("  svn export https://svn.apache.org/repos/private/committers/board/committee-info.txt")
     print("(requires authentication with committer karma)")
     sys.exit(1)
+reports = data[data.index("January, April, July, October"):data.index('Next month')]
+buf = io.StringIO(reports)
+cycles = { 'Incubator': 0 }
+current = 1
+newCycle = True
+for p in buf.readlines():
+    if p.startswith('  '):
+        cycles[p.strip()] = current
+        newCycle = False
+    elif len(p.strip()) == 0:
+        if not newCycle:
+            newCycle = True
+            current += 1
 
 tlpCount = 0
 tlps = []
@@ -67,9 +81,9 @@ for pmc in re.findall(r"\* .+?\s+\(est\.
             else:
                 tlp_id = project.lower().replace(' ', '').replace('.', '')
             # Classical TLP
-            project = "Apache %s" % project
-            if project in renamesCommittee2Json:
-                project = renamesCommittee2Json[project]
+            committee = "Apache %s" % project
+            if committee in renamesCommittee2Json:
+                committee = renamesCommittee2Json[committee]
             #print(project)
             tlpCount += 1
 
@@ -77,11 +91,11 @@ for pmc in re.findall(r"\* .+?\s+\(est\.
             key = "%s-%s" % (year, month)
             if not key in tlpsEvolution:
                 tlpsEvolution[key] = [] # add new year-month
-            if not project in tlpsEvolution[key]:
+            if not committee in tlpsEvolution[key]:
                 # add TLP to tlpsEvolution
-                tlpsEvolution[key].append(project)
+                tlpsEvolution[key].append(committee)
                 tlpsEvolution[key].sort()
-                addedTlps.append("%s: %s" % (key, project))
+                addedTlps.append("%s: %s" % (key, committee))
 
             # add TLP to tlps
             tlp = {}
@@ -90,7 +104,7 @@ for pmc in re.findall(r"\* .+?\s+\(est\.
             if tlp_id in gids:
                 gid = gids[tlp_id]
                 tlp['gid'] = gid
-            tlp['name'] = project
+            tlp['name'] = committee
             tlp['established'] = key
             if tlp_id in homepages:
                 tlp['homepage'] = homepages[tlp_id]
@@ -111,17 +125,20 @@ for pmc in re.findall(r"\* .+?\s+\(est\.
             tlp['pmcs'] = pmc
             tlp['committers'] = committers
             if len(pmc) == 0:
-                print('WARN: %s (%s established in %s) has no PMC members (PMC group id=%s)' % (tlp_id, project, key, pmcgid))
+                print('WARN: %s (%s established in %s) has no PMC members LDAP group (id=%s)' % (tlp_id, committee, key, pmcgid))
             # TODO
             # tlp['chair'] = uid
-            # tlp['reporting'] = 'j'/'f'/'m'
+            if project in cycles:
+                tlp['reporting'] = cycles[project]
+            else:
+                print('WARN: %s not found in reporting cycles' % project)
             # tlp['charter']
             # tlp['retired']
             tlps.append(tlp)
         else:
             # Special Committee (Officer's, President's or Board)
             print("INFO: %s ignored %s" % (project, pmc[pmc.rfind('('):]))
-        c[project] = True
+        c[committee] = True
 
 with open("../../site/json/foundation/tlps-evolution.json", "w") as f:
     f.write(json.dumps(tlpsEvolution, sort_keys=True, indent=0))