You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@whimsical.apache.org by se...@apache.org on 2019/01/10 15:59:47 UTC
[whimsy] branch master updated: Detect chair lines with missing
separator
This is an automated email from the ASF dual-hosted git repository.
sebb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/whimsy.git
The following commit(s) were added to refs/heads/master by this push:
new 5e58e11 Detect chair lines with missing separator
5e58e11 is described below
commit 5e58e11a20fe3541d53d7d3cc6d7f094c79567ca
Author: Sebb <se...@apache.org>
AuthorDate: Thu Jan 10 15:59:00 2019 +0000
Detect chair lines with missing separator
---
lib/whimsy/asf/committee.rb | 21 ++++++++++++++++++---
1 file changed, 18 insertions(+), 3 deletions(-)
diff --git a/lib/whimsy/asf/committee.rb b/lib/whimsy/asf/committee.rb
index 4427e6c..644381a 100644
--- a/lib/whimsy/asf/committee.rb
+++ b/lib/whimsy/asf/committee.rb
@@ -352,13 +352,21 @@ module ASF
# extract the committee chairs (e-mail address is required here)
# Note: this includes the non-PMC entries
- head.scan(/^[ \t]+(\w.*?)[ \t][ \t]+(.*)[ \t]+<(.*?)@apache\.org>/).
- each do |committee, name, id|
+
+ # Scan for entries even if there is a missing extra space before the chair column
+ head.scan(/^[ \t]+\w.*?[ \t]+.*[ \t]+<.*?@apache\.org>/).each do |line|
+ # Now weed out the malformed lines
+ m = line.match(/^[ \t]+(\w.*?)[ \t][ \t]+(.*)[ \t]+<(.*?)@apache\.org>/)
+ if m
+ committee, chair, id = m.captures
unless list[committee].chairs.any? {|chair| chair[:id] == id}
list[committee].chairs << {name: name, id: id}
end
+ else
+ # not possible to determine where one name starts and the other begins
+ Wunderbar.warn "Missing separator before chair name in: '#{line}'"
end
-
+ end
# Extract the non-PMC committees (e-mail address may be absent)
# first drop leading text (and Officers) so we only match non-PMCs
@nonpmcs = head.sub(/.*?also has /m,'').sub(/ Officers:.*/m,'').
@@ -419,6 +427,13 @@ module ASF
end
end
@committee_info = (list.values - @officers).uniq
+ # Check if there are duplicates.
+ @committee_info.each do |c|
+ if c.chairs.length != 1 && c.name != 'fundraising' # hack to avoid reporting non-PMC entry
+ Wunderbar.warn "Unexpected chair count for #{c.display_name}: #{c.chairs.inspect rescue ''}"
+ end
+ end
+ @committee_info
end
# return a list of PMC committees. Data is obtained from