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 cf34bb7 Use shorthand id for accessing SVN
cf34bb7 is described below
commit cf34bb7b621c1787d567cf8b92ab2f384f378abf
Author: Sebb <[email protected]>
AuthorDate: Wed May 2 00:07:57 2018 +0100
Use shorthand id for accessing SVN
Also use File.join instead of '/'
---
www/apmail/mods.cgi | 2 +-
www/board/missing-reports.cgi | 2 +-
www/board/posted-reports.cgi | 2 +-
www/board/publish_minutes.cgi | 2 +-
www/brand/list.cgi | 4 ++--
www/committers/testauth.cgi | 2 +-
www/committers/tm-report.cgi | 2 +-
www/events/past.cgi | 2 +-
www/incubator/moderators.cgi | 2 +-
www/incubator/signoff.cgi | 6 +++---
www/members/attendance-xcheck.cgi | 6 +++---
www/members/board-attend.cgi | 2 +-
www/members/inactive.cgi | 8 ++++----
www/members/nominations.cgi | 6 +++---
www/members/non-participants.cgi | 4 ++--
www/members/proxy.cgi | 16 ++++++++--------
www/members/watch.cgi | 14 +++++++-------
www/members/whatif.cgi | 4 ++--
www/officers/acreq.cgi | 8 ++++----
www/officers/board-stats.cgi | 10 +++++-----
www/officers/mlreq.cgi | 4 ++--
www/secretary/icla-lint.cgi | 4 ++--
www/secretary/response-time.cgi | 2 +-
23 files changed, 57 insertions(+), 57 deletions(-)
diff --git a/www/apmail/mods.cgi b/www/apmail/mods.cgi
index 20d604e..992be02 100755
--- a/www/apmail/mods.cgi
+++ b/www/apmail/mods.cgi
@@ -124,7 +124,7 @@ _html do
end
end
- apmail_bin = ASF::SVN['infra/infrastructure/apmail/trunk/bin']
+ apmail_bin = ASF::SVN['apmail_bin']
archives = File.read(File.join(apmail_bin, '.archives'))
archives = Hash[*JSON.parse('['+archives.sub(/,?\s*\Z/,']'))]
diff --git a/www/board/missing-reports.cgi b/www/board/missing-reports.cgi
index 4413f87..e13c097 100755
--- a/www/board/missing-reports.cgi
+++ b/www/board/missing-reports.cgi
@@ -5,7 +5,7 @@ require 'whimsy/asf/agenda'
records = 'http://www.apache.org/foundation/records/minutes/'
-Dir.chdir ASF::SVN['private/foundation/board']
+Dir.chdir ASF::SVN['foundation_board']
agendas = Dir['**/board_agenda_*'].sort_by {|name|
File.basename(name)}[-12..-1]
diff --git a/www/board/posted-reports.cgi b/www/board/posted-reports.cgi
index d78af98..f2e3de7 100755
--- a/www/board/posted-reports.cgi
+++ b/www/board/posted-reports.cgi
@@ -31,7 +31,7 @@ archive.each do |email|
end
# Get a list of missing board reports
-Dir.chdir ASF::SVN['private/foundation/board']
+Dir.chdir ASF::SVN['foundation_board']
agenda = Dir['board_agenda_*.txt'].sort.last
parsed = ASF::Board::Agenda.parse(IO.read(agenda), true)
missing = parsed.select {|item| item['missing']}.
diff --git a/www/board/publish_minutes.cgi b/www/board/publish_minutes.cgi
index ff37f0a..8cbf491 100755
--- a/www/board/publish_minutes.cgi
+++ b/www/board/publish_minutes.cgi
@@ -17,7 +17,7 @@ end
CONTENT = 'asf/infrastructure/site/trunk/content'
BOARD_SITE = ASF::SVN["#{CONTENT}/foundation/board"]
MINUTES = ASF::SVN["#{CONTENT}/foundation/records/minutes"]
-BOARD_PRIVATE = ASF::SVN['private/foundation/board']
+BOARD_PRIVATE = ASF::SVN['foundation_board']
CALENDAR = "#{BOARD_SITE}/calendar.mdtext"
_html do
diff --git a/www/brand/list.cgi b/www/brand/list.cgi
index 610a1e3..dee53a3 100755
--- a/www/brand/list.cgi
+++ b/www/brand/list.cgi
@@ -31,7 +31,7 @@ MAP_PMC_REG = {
# Transform docket spreadsheet into structured JSON
def csv2json
- brand_dir = ASF::SVN['private/foundation/Brand']
+ brand_dir = ASF::SVN['brandlist']
csv = CSV.read("#{brand_dir}/docket.csv", headers:true)
docket = {}
csv.each do |r|
@@ -166,7 +166,7 @@ _html do
end
}
) do
- brand_dir = ASF::SVN['private/foundation/Brand']
+ brand_dir = ASF::SVN['brandlist']
docket = JSON.parse(File.read("#{brand_dir}/docket.json"))
projects =
JSON.parse(Net::HTTP.get(URI('https://projects.apache.org/json/foundation/projects.json')))
_h3 'The ASF holds the following registered trademarks:', id:
'registered'
diff --git a/www/committers/testauth.cgi b/www/committers/testauth.cgi
index 71f563d..04c1c0b 100755
--- a/www/committers/testauth.cgi
+++ b/www/committers/testauth.cgi
@@ -22,7 +22,7 @@ _html do
_ 'This script checks your authorization to use the agenda tool, and
checks if you are listed as attending the current board meeting in the official
agenda.'
}
) do
- FOUNDATION_BOARD = ASF::SVN['private/foundation/board']
+ FOUNDATION_BOARD = ASF::SVN['foundation_board']
agenda = Dir[File.join(FOUNDATION_BOARD,
'board_agenda_*.txt')].sort.last.untaint
agenda = ASF::Board::Agenda.parse(File.read(agenda))
roll = agenda.find {|item| item['title'] == 'Roll Call'}
diff --git a/www/committers/tm-report.cgi b/www/committers/tm-report.cgi
index 467e8dd..4e71d55 100755
--- a/www/committers/tm-report.cgi
+++ b/www/committers/tm-report.cgi
@@ -101,7 +101,7 @@ end
def emit_form()
# Store auth so we know Apache ID of submitter
user = ASF::Auth.decode(env = {})
- docket =
JSON.parse(File.read("#{ASF::SVN['private/foundation/Brand']}/docket.json")) #
To annotate pmcs with (R) symbol
+ docket = JSON.parse(File.read(File.join(ASF::SVN['brandlist'],
'docket.json'))) # To annotate pmcs with (R) symbol
committees = Public.getJSON('committee-info.json')['committees']
_whimsy_panel("Report A Potential Misuse Of Apache\u00AE Brands", style:
'panel-success') do
diff --git a/www/events/past.cgi b/www/events/past.cgi
index e8ae8f6..5a114a2 100755
--- a/www/events/past.cgi
+++ b/www/events/past.cgi
@@ -33,7 +33,7 @@ _html do
_p 'ApacheCon has been going on since before the ASF was born, and
includes great events:'
}
) do
- ac_dir = ASF::SVN['private/foundation/ApacheCon']
+ ac_dir = ASF::SVN['apachecon']
history = File.read("#{ac_dir}/apacheconhistory.csv")
history.sub! "\uFEFF", '' # remove Zero Width No-Break Space
csv = CSV.parse(history, headers:true)
diff --git a/www/incubator/moderators.cgi b/www/incubator/moderators.cgi
index 7e40ecd..23be6d7 100755
--- a/www/incubator/moderators.cgi
+++ b/www/incubator/moderators.cgi
@@ -14,7 +14,7 @@ unless user.asf_member? or
ASF::Committee['incubator'].members.include? user
exit
end
-PODLINGS = "#{ASF::SVN['asf/incubator/public/trunk/content']}/podlings.xml"
+PODLINGS = File.join(ASF::SVN['incubator-content'], 'podlings.xml')
exceptions = {
"beanvalidation" => "bval",
diff --git a/www/incubator/signoff.cgi b/www/incubator/signoff.cgi
index 5c59480..c1db5bf 100755
--- a/www/incubator/signoff.cgi
+++ b/www/incubator/signoff.cgi
@@ -18,15 +18,15 @@ unless user.asf_member? or incubator.include? user
exit
end
-BOARD = ASF::SVN['private/foundation/board']
+BOARD = ASF::SVN['foundation_board']
# Gather data from board agendas about podlings and actual mentors listed
def get_mentor_signoffs()
ASF::Person.preload('cn')
ASF::ICLA.preload()
people = Hash[ASF::Person.list.map {|person| [person.public_name,
person.id]}]
- agendas = Dir["#{BOARD}/board_agenda_*.txt",
- "#{BOARD}/archived_agendas/board_agenda_*.txt"]
+ agendas = Dir[File.join(BOARD, 'board_agenda_*.txt'),
+ File.join(BOARD, 'archived_agendas', 'board_agenda_*.txt')]
agendas = agendas.sort_by {|file| File.basename(file)}[-13..-1]
if File.read(agendas.last).include? 'The Apache Incubator is the entry path'
agendas.shift
diff --git a/www/members/attendance-xcheck.cgi
b/www/members/attendance-xcheck.cgi
index 6715749..b24ad84 100755
--- a/www/members/attendance-xcheck.cgi
+++ b/www/members/attendance-xcheck.cgi
@@ -7,13 +7,13 @@ require 'wunderbar/bootstrap'
require 'json'
# read in attendance
-meetings = ASF::SVN['private/foundation/Meetings']
-json = JSON.parse(IO.read "#{meetings}/attendance.json")
+meetings = ASF::SVN['Meetings']
+json = JSON.parse(IO.read File.join(meetings, 'attendance.json'))
attend = json['matrix'].keys
# parse received info
added = Hash.new('unknown')
-Dir["#{meetings}/*/memapp-received.txt"].each do |received|
+Dir[File.join(meetings, '*', 'memapp-received.txt')].each do |received|
meeting = File.basename(File.dirname(received))
next if meeting.include? 'template'
text = File.read(received)
diff --git a/www/members/board-attend.cgi b/www/members/board-attend.cgi
index 56df67b..03c0263 100755
--- a/www/members/board-attend.cgi
+++ b/www/members/board-attend.cgi
@@ -9,7 +9,7 @@ require 'wunderbar/bootstrap'
require 'json'
require 'set'
-BOARD = ASF::SVN['private/foundation/board']
+BOARD = ASF::SVN['foundation_board']
IS_DIRECTOR = :director
APPROVED = 'approved'
diff --git a/www/members/inactive.cgi b/www/members/inactive.cgi
index 4668168..3ba7980 100755
--- a/www/members/inactive.cgi
+++ b/www/members/inactive.cgi
@@ -26,11 +26,11 @@ _html do
_body? do
_whimsy_header 'Poll of Inactive Members'
# locate and read the attendance file
- MEETINGS = ASF::SVN['private/foundation/Meetings']
- attendance = JSON.parse(IO.read("#{MEETINGS}/attendance.json"))
- latest = Dir["#{MEETINGS}/2*"].sort.last.untaint
+ MEETINGS = ASF::SVN['Meetings']
+ attendance = JSON.parse(IO.read(File.join(MEETINGS, 'attendance.json')))
+ latest = Dir[File.join(MEETINGS, '2*')].sort.last.untaint
begin
- tracker = JSON.parse(IO.read("#{latest}/non-participants.json"))
+ tracker = JSON.parse(IO.read(File.join(latest, 'non-participants.json')))
rescue Errno::ENOENT => err
raise IOError, "#{err.message} - Perhaps Whimsy doesn't have the current
meeting's data yet?", err.backtrace
end
diff --git a/www/members/nominations.cgi b/www/members/nominations.cgi
index a139f9b..793eaac 100755
--- a/www/members/nominations.cgi
+++ b/www/members/nominations.cgi
@@ -31,9 +31,9 @@ archive.each do |email|
end
# parse nominations for names and ids
-MEETINGS = ASF::SVN['private/foundation/Meetings']
-meeting = Dir["#{MEETINGS}/2*"].sort.last
-nominations = IO.read("#{meeting}/nominated-members.txt").
+MEETINGS = ASF::SVN['Meetings']
+meeting = Dir[File.join(MEETINGS, '2*')].sort.last
+nominations = IO.read(File.join(meeting, 'nominated-members.txt')).
scan(/^---+--\s+(.*?)\n/).flatten
nominations.shift if nominations.first == '<empty line>'
diff --git a/www/members/non-participants.cgi b/www/members/non-participants.cgi
index 4eb0a20..721198f 100755
--- a/www/members/non-participants.cgi
+++ b/www/members/non-participants.cgi
@@ -12,8 +12,8 @@ require 'wunderbar/jquery/stupidtable'
ROSTER = "/roster/committer"
# locate and read the attendance file
-MEETINGS = ASF::SVN['private/foundation/Meetings']
-attendance = JSON.parse(IO.read("#{MEETINGS}/attendance.json"))
+MEETINGS = ASF::SVN['Meetings']
+attendance = JSON.parse(IO.read(File.join(MEETINGS, 'attendance.json')))
# extract and format dates
dates = attendance['dates'].sort.
diff --git a/www/members/proxy.cgi b/www/members/proxy.cgi
index 8f646fa..7b76725 100755
--- a/www/members/proxy.cgi
+++ b/www/members/proxy.cgi
@@ -6,15 +6,15 @@ require 'whimsy/asf'
require 'date'
require 'tmpdir'
-MEETINGS = ASF::SVN['private/foundation/Meetings']
-meeting = File.basename(Dir["#{MEETINGS}/2*"].sort.last).untaint
+MEETINGS = ASF::SVN['Meetings']
+meeting = File.basename(Dir[File.join(MEETINGS, '2*')].sort.last).untaint
# Calculate how many members required to attend first half for quorum
def calculate_quorum(meeting)
begin
- num_members = File.read("#{MEETINGS}/#{meeting}/record").each_line.count
+ num_members = File.read(File.join(MEETINGS, meeting,
'record')).each_line.count
quorum_need = num_members / 3
- num_proxies = Dir["#{MEETINGS}/#{meeting}/proxies-received/*"].count
+ num_proxies = Dir[File.join(MEETINGS, meeting, 'proxies-received',
'*')].count
attend_irc = quorum_need - num_proxies
rescue StandardError => e
# Ensure we can't break rest of script
@@ -30,7 +30,7 @@ end
# @return nil otherwise
def is_user_proxied(meeting, id)
user = ASF::Person.find(id)
- lines = IO.read("#{MEETINGS}/#{meeting}/proxies")
+ lines = IO.read(File.join(MEETINGS, meeting, 'proxies'))
proxylist = lines.scan(/\s\s(.{25})(.*?)\((.*?)\)/) # [["Shane Curcuru ",
"David Fisher ", "wave"], ...]
help = nil
copypasta = [] # theiravailid | Their Name in Rolls (proxy)
@@ -61,7 +61,7 @@ _html do
# get a list of members who have submitted proxies
- exclude = Dir["#{MEETINGS}/#{meeting}/proxies-received/*"].
+ exclude = Dir[File.join(MEETINGS, meeting,'proxies-received', '*')].
map {|name| name[/(\w+)\.\w+$/, 1]}
if _.get?
@@ -124,7 +124,7 @@ _html do
_div.row do
_div do
- _pre IO.read("#{MEETINGS}/#{meeting}/member_proxy.txt")
+ _pre IO.read(File.join(MEETINGS, meeting, 'member_proxy.txt'))
end
end
@@ -183,7 +183,7 @@ _html do
_h3_ 'Proxy Assignment - Session Transcript'
# collect data
- proxy = File.read("#{MEETINGS}/#{meeting}/member_proxy.txt")
+ proxy = File.read(File.join(MEETINGS, meeting, 'member_proxy.txt'))
user = ASF::Person.find($USER)
date = Date.today.strftime("%B %-d, %Y")
diff --git a/www/members/watch.cgi b/www/members/watch.cgi
index e12c197..5251a63 100755
--- a/www/members/watch.cgi
+++ b/www/members/watch.cgi
@@ -10,7 +10,7 @@ require 'wunderbar/bootstrap'
require 'wunderbar/jquery/stupidtable'
SVN_BOARD = "https://svn.apache.org/repos/private/foundation/board"
-meetings = ASF::SVN['private/foundation/Meetings']
+meetings = ASF::SVN['Meetings']
_html do
_head_ do
@@ -33,9 +33,9 @@ _html do
# start with the Watch List itself
watch_list = ASF::Person.member_watch_list.keys
meeting =
-
File.dirname(Dir["#{meetings}/*/nominated-members.txt"].sort.last).untaint
+ File.dirname(Dir[File.join(meetings, '*',
'nominated-members.txt')].sort.last).untaint
- txt = File.read("#{meeting}/nominated-members.txt")
+ txt = File.read(File.join(meeting, 'nominated-members.txt'))
nominations = txt.scan(/^---+\n\s*\w+.*<(\S+)@apache.org>/).flatten
nominations += txt.scan(/^---+\n\s*\w+.*\(([a-z]+)\)/).flatten
nominations += txt.scan(/^---+\n\s*\w+.*\(([a-z]+)@apache\.org\)/).flatten
@@ -119,7 +119,7 @@ _html do
list = nominations.uniq.map {|id| ASF::Person.find(id)}
elsif request =~ /appstatus/
_h2_ 'Elected Members - Application Status'
- status = File.read("#{meeting}/memapp-received.txt").
+ status = File.read(File.join(meeting, 'memapp-received.txt')).
scan(/^(yes|no)\s+(yes|no)\s+(yes|no)\s+(yes|no)\s+(\w+)\s/)
status = Hash[status.map {|tokens| [tokens.pop, tokens]}]
list = status.keys.map {|id| ASF::Person.find(id)}
@@ -271,11 +271,11 @@ _html do
date = Date.parse(resolution.text)
else
# search unpublished agendas
- board = ASF::SVN['private/foundation/board']
- Dir["#{board}/board_agenda_*"].sort.each do |agenda|
+ board = ASF::SVN['foundation_board']
+ Dir[File.join(board, 'board_agenda_*')].sort.each do |agenda|
agenda.untaint
if File.read(agenda).include? search_string
- minutes = "#{SVN_BOARD}/#{File.basename(agenda)}"
+ minutes = File.join(SVN_BOARD, File.basename(agenda))
date = agenda.gsub('_','-')[/(\d+-\d+-\d+)/,1]
break
end
diff --git a/www/members/whatif.cgi b/www/members/whatif.cgi
index 5990c81..aada25e 100755
--- a/www/members/whatif.cgi
+++ b/www/members/whatif.cgi
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift
File.realpath(File.expand_path('../../../lib', __FILE__))
require 'whimsy/asf/config'
require 'whimsy/asf/svn'
-MEETINGS = ASF::SVN['private/foundation/Meetings']
+MEETINGS = ASF::SVN['Meetings']
-Dir.chdir ASF::SVN['asf/steve/trunk']
+Dir.chdir ASF::SVN['steve']
require "./whatif"
diff --git a/www/officers/acreq.cgi b/www/officers/acreq.cgi
index f814314..8d6771c 100755
--- a/www/officers/acreq.cgi
+++ b/www/officers/acreq.cgi
@@ -21,7 +21,7 @@ end
ACREQ = 'https://svn.apache.org/repos/infra/infrastructure/trunk/acreq'
OFFICERS = 'https://svn.apache.org/repos/private/foundation/officers'
-APMAIL_BIN = ASF::SVN['infra/infrastructure/apmail/trunk/bin']
+APMAIL_BIN = ASF::SVN['apmail_bin']
# get up to date data...
# TODO replace with library method see WHIMSY-103
@@ -302,7 +302,7 @@ _html do
end
if requestor == 'incubator' and not @podling.to_s.empty?
- if File.read("#{APMAIL_BIN}/.archives").include?
"incubator-#{@podling}-private"
+ if File.read(File.join(APMAIL_BIN, '.archives')).include?
"incubator-#{@podling}-private"
cc_list <<
"#{@podling}-private@#{pmc_list}.apache.org".untaint
else
cc_list <<
"private@#{@podling}.#{pmc_list}.apache.org".untaint
@@ -347,7 +347,7 @@ _html do
`#{SVN} co #{ACREQ} #{tmpdir}`
# Update the new-account-reqs file...
- File.open("#{tmpdir}/new-account-reqs.txt", 'a') do |file|
+ File.open(File.join(tmpdir, 'new-account-reqs.txt'), 'a')
do |file|
file.puts(line)
end
@@ -356,7 +356,7 @@ _html do
# TODO replace with library method see WHIMSY-103
rc = _.system ['svn',
['--username', env.user, '--password', env.password],
- 'commit', "#{tmpdir}/new-account-reqs.txt",
+ 'commit', File.join(tmpdir, 'new-account-reqs.txt'),
'-m', "#{@user} account request by #{user.id} for
#{requestor}"]
if rc == 0
diff --git a/www/officers/board-stats.cgi b/www/officers/board-stats.cgi
index d04a9f0..5dc9c80 100755
--- a/www/officers/board-stats.cgi
+++ b/www/officers/board-stats.cgi
@@ -9,7 +9,7 @@ require 'wunderbar/bootstrap'
require 'json'
require 'set'
-BOARD = ASF::SVN['private/foundation/board']
+BOARD = ASF::SVN['foundation_board']
REPO = 'https://svn.apache.org/repos/private/foundation/board/'
# Hash keys returned by summarize
@@ -66,12 +66,12 @@ _html do
_tr_ do
_td do
file = month + '.txt'
- if not File.exist? "#{BOARD}/#{file}"
- file = "archived_agendas/#{file}"
+ if not File.exist? File.join(BOARD, file)
+ file = File.join('archived_agendas', file)
end
_a month.sub('board_agenda_', '').gsub('_', '-'),
- href: "#{REPO}/#{file}"
+ href: File.join(REPO, file)
end
_td.text_center do
dct = directors.length
@@ -116,7 +116,7 @@ _html do
_ul do
datums.select{ |k,v| v.is_a?(Hash) && v.has_key?(ERRORS) }.each do
|month, agenda|
_li do
- _a href: "#{REPO}/archived_agendas/#{month}.txt" do
+ _a href: File.join(REPO, 'archived_agendas', "#{month}.txt") do
_span.text_warning month
_ " - #{agenda[ERRORS].partition(')').last}"
end
diff --git a/www/officers/mlreq.cgi b/www/officers/mlreq.cgi
index 9879b16..b319c7c 100755
--- a/www/officers/mlreq.cgi
+++ b/www/officers/mlreq.cgi
@@ -459,8 +459,8 @@ _json do
# extract the names of podlings (and aliases) from podlings.xml
require 'nokogiri'
- incubator_content = ASF::SVN['asf/incubator/public/trunk/content']
- current = Nokogiri::XML(File.read("#{incubator_content}/podlings.xml")).
+ incubator_content = ASF::SVN['incubator-content']
+ current = Nokogiri::XML(File.read(File.join(incubator_content,
'podlings.xml'))).
search('podling[status=current]')
podlings = current.map {|podling| podling['resource']}
podlings += current.map {|podling| podling['resourceAliases']}.compact.
diff --git a/www/secretary/icla-lint.cgi b/www/secretary/icla-lint.cgi
index 43019ba..a33fa81 100755
--- a/www/secretary/icla-lint.cgi
+++ b/www/secretary/icla-lint.cgi
@@ -66,8 +66,8 @@ _html do
_h2_ 'Issues'
- input = ASF::SVN['private/foundation/officers'] + '/iclas.txt'
- iclas = Dir[ASF::SVN['private/documents/iclas'] + '/*'].map do |file|
+ input = File.join(ASF::SVN['officers'], 'iclas.txt')
+ iclas = Dir[File.join(ASF::SVN['iclas'], '*')].map do |file|
file.split('/').last.sub(/\.\w+$/, '')
end
diff --git a/www/secretary/response-time.cgi b/www/secretary/response-time.cgi
index 78cdd2a..3050dde 100755
--- a/www/secretary/response-time.cgi
+++ b/www/secretary/response-time.cgi
@@ -42,7 +42,7 @@ _html do
end
_json do
- officers = ASF::SVN['private/foundation/officers']
+ officers = ASF::SVN['officers']
startTime = Time.now
_result `#{CMD.sub(/\bofficers\b/, officers)}`
_server Time.now - startTime
--
To stop receiving notification emails like this one, please contact
[email protected].