Author: sebb
Date: Wed Jun 18 23:28:54 2025
New Revision: 1926562
URL: http://svn.apache.org/viewvc?rev=1926562&view=rev
Log:
Ensure committee is valid
Modified:
comdev/reporter.apache.org/trunk/scripts/ldap_info.py
comdev/reporter.apache.org/trunk/site/addrelease.py
Modified: comdev/reporter.apache.org/trunk/scripts/ldap_info.py
URL:
http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/scripts/ldap_info.py?rev=1926562&r1=1926561&r2=1926562&view=diff
==============================================================================
--- comdev/reporter.apache.org/trunk/scripts/ldap_info.py (original)
+++ comdev/reporter.apache.org/trunk/scripts/ldap_info.py Wed Jun 18 23:28:54
2025
@@ -45,8 +45,14 @@ def isMember(uid):
"""Determine if the uid is in the member Unix group"""
return uid in loadJson(GROUPS)['groups']['member']['roster']
+def isValidPMC(pmcid):
+ """Determine if an id is a valid PMC (and not incubator)"""
+ projects = loadJson(PROJECTS)['projects']
+ return pmcid != 'incubator' and pmcid in projects and 'pmc' in
projects[pmcid]
+
if __name__ == '__main__':
import sys
for arg in sys.argv[1:]:
print("%s isMember: %s" % (arg, isMember(arg)))
print("%s PMCownership: %s" % (arg, getPMCownership(arg)))
+ print("%s isValidPMC: %s" % (arg, isValidPMC(arg)))
Modified: comdev/reporter.apache.org/trunk/site/addrelease.py
URL:
http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/addrelease.py?rev=1926562&r1=1926561&r2=1926562&view=diff
==============================================================================
--- comdev/reporter.apache.org/trunk/site/addrelease.py (original)
+++ comdev/reporter.apache.org/trunk/site/addrelease.py Wed Jun 18 23:28:54 2025
@@ -24,7 +24,9 @@ def getReleaseData(committee):
saved = False
err = None
if date != None and version and committee:
- if committee in ldap_info.getPMCownership(user) or
ldap_info.isMember(user):
+ if not ldap_info.isValidPMC(committee):
+ err = "Please specify a valid PMC (not incubator)"
+ elif committee in ldap_info.getPMCownership(user) or
ldap_info.isMember(user):
rdata = getReleaseData(committee)
if date >= 86400: # allow for local time just in case
rdata[version] = date