mirror of
https://github.com/public-apis/public-apis.git
synced 2025-06-03 11:21:46 +02:00
Add alphabetical order check logic
This commit is contained in:
parent
61c6cd196f
commit
7f71a9cfe6
1 changed files with 27 additions and 1 deletions
|
@ -25,10 +25,36 @@ def add_error(line_num, val_index, message)
|
|||
when INDEX_LINK
|
||||
segment = "Link"
|
||||
end
|
||||
|
||||
$errors.push("(L%03d) %-14.14s #{message}" % [line_num, segment])
|
||||
end
|
||||
|
||||
section = ''
|
||||
sections = []
|
||||
section_to_line_num = {}
|
||||
section_to_entries = Hash.new {|h,k| h[k] = Array.new }
|
||||
File.foreach(filename).with_index do | line, line_num |
|
||||
|
||||
if line.start_with?('###')
|
||||
section = line.sub('###', '').lstrip.chop
|
||||
sections.push(section)
|
||||
section_to_line_num[section] = line_num + 1
|
||||
end
|
||||
|
||||
# Skip non-markdown table lines and table schema lines
|
||||
if !line.start_with?('|') || line.eql?("|---|---|---|---|---|\n")
|
||||
next
|
||||
end
|
||||
|
||||
# char to check is the first char in the first column
|
||||
check_char = line.split("|")[1].strip[0]
|
||||
section_to_entries[section].push(check_char)
|
||||
end
|
||||
sections.each do | sect |
|
||||
if section_to_entries[sect] != section_to_entries[sect].sort
|
||||
add_error(section_to_line_num[sect], INDEX_TITLE, "#{sect} section is not in alphabetical order")
|
||||
end
|
||||
end
|
||||
|
||||
File.foreach(filename).with_index do | line, line_num |
|
||||
line_num += 1
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue