You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
730 B
Ruby
33 lines
730 B
Ruby
#!/usr/bin/env ruby
|
|
$:.unshift('vendor/ruby-mediawiki/lib')
|
|
require 'mediawiki/dotfile'
|
|
@wiki = MediaWiki.dotfile(nil,'entropia')
|
|
|
|
def is_redirect?(title)
|
|
@wiki.article(title).text =~ /REDIRECT/
|
|
end
|
|
|
|
def check_category(title_re, category)
|
|
category_articles = @wiki.category(category).articles
|
|
missing = []
|
|
|
|
@wiki.allpages.delete_if { |t| t !~ title_re }.each do |title|
|
|
if !is_redirect?(title) && !category_articles.member?(title)
|
|
missing << title
|
|
end
|
|
end
|
|
|
|
if missing.size > 0
|
|
puts "Folgenden Artikel fehlt die Kategorie: #{category}\n"
|
|
missing.each do |t|
|
|
puts t.chomp
|
|
end
|
|
puts
|
|
end
|
|
end
|
|
|
|
check_category(/GPN/, "GPN")
|
|
(1..5).each do |n|
|
|
check_category(/GPN#{n}/, "GPN#{n}")
|
|
end
|