Fixed.

On 22 February 2016 at 18:21, sebb <seb...@gmail.com> wrote:
> On 22 February 2016 at 17:03,  <ru...@apache.org> wrote:
>> Repository: whimsy
>> Updated Branches:
>>   refs/heads/master c283f6795 -> 2075b050e
>>
>>
>> quick and dirty cross-check
>>
>>
>> Project: https://git-dual.apache.org/repos/asf/whimsy/repo
>> Commit: https://git-dual.apache.org/repos/asf/whimsy/commit/2075b050
>> Tree: https://git-dual.apache.org/repos/asf/whimsy/tree/2075b050
>> Diff: https://git-dual.apache.org/repos/asf/whimsy/diff/2075b050
>>
>> Branch: refs/heads/master
>> Commit: 2075b050ed8cfbd65fdbbc945b5a569f828af859
>> Parents: 5c728a6
>> Author: Sam Ruby <ru...@intertwingly.net>
>> Authored: Mon Feb 22 12:02:53 2016 -0500
>> Committer: Sam Ruby <ru...@intertwingly.net>
>> Committed: Mon Feb 22 12:03:36 2016 -0500
>>
>> ----------------------------------------------------------------------
>>  www/members/attendance-xcheck.cgi | 38 ++++++++++++++++++++++++++++++++++
>>  1 file changed, 38 insertions(+)
>> ----------------------------------------------------------------------
>>
>>
>> https://git-dual.apache.org/repos/asf/whimsy/blob/2075b050/www/members/attendance-xcheck.cgi
>> ----------------------------------------------------------------------
>> diff --git a/www/members/attendance-xcheck.cgi 
>> b/www/members/attendance-xcheck.cgi
>> new file mode 100755
>> index 0000000..1010801
>> --- /dev/null
>> +++ b/www/members/attendance-xcheck.cgi
>> @@ -0,0 +1,38 @@
>> +#!/usr/bin/ruby1.9.1
>> +$LOAD_PATH.unshift File.realpath(File.expand_path('../../../lib', __FILE__))
>> +
>> +require 'whimsy/asf'
>> +require 'json'
>> +
>> +# read in attendance
>> +meetings = ASF::SVN['private/foundation/Meetings']
>> +json = JSON.parse(IO.read "#{meetings}/attendance.json")
>> +attend = json['matrix'].keys
>> +
>> +# cross check against members.txt
>
> Unfortunately members.txt is not a good source for canonical public names.
>
> Also names with (nick) comments are truncated.
> This is presumably to cater for (deceased...) entries.
> I'll try to fix that.
>
>> +missing = []
>> +ASF::Member.list.each do |id, info|
>> +  missing << info[:name] unless attend.delete info[:name] or info['status']
>> +end
>> +missing.delete ''
>> +
>> +# produce HTML
>> +_html do
>> +  _h1_ 'members.txt vs attendance.json cross-check'
>> +
>> +  _h2_ 'Listed as attending a members meeting, but not in members.txt'
>> +
>> +  _ul do
>> +    attend.sort.each do |name|
>> +      _li name
>> +    end
>> +  end
>> +
>> +  _h2_ 'Listed in members.txt but not listed as attending a members meeting'
>> +
>> +  _ul do
>> +    missing.sort.each do |name|
>> +      _li name
>> +    end
>> +  end
>> +end
>>

Reply via email to