neingeist
/
neinomaten
Archived
1
0
Fork 0

soviel neue funktionen!!

master
neingeist 19 years ago
parent dc3a040d2a
commit 70e56b824b

@ -179,5 +179,21 @@ class WikiBot
return fields return fields
end end
def get_category_articles(category)
# FIXME: There seems to be no MediaWiki API? Let's scrape it up from
# HTML for now.
articles = []
category_page = @client.get_content(@wiki + category)
category_page.scan(/<li><a href=".*?" title="(.*?)"/) do |m|
title = m[0]
articles.push(title)
end
return articles
end
end end
end end

@ -0,0 +1,19 @@
require 'mediawikibot'
class WikiChecker < MediaWikiBot::WikiBot
def category_checker (page, category)
body = "== #{page} ==\n\n"
body += "[[Category:FIXME]]\n\n"
body += "Unter [[#{page}]] fehlen folgende Artikel aus [[:#{category}]]:\n\n"
projekte = get_raw(page)
get_category_articles(category).each do |title|
re = Regexp.new("\\\[\\\[" + title)
if ! re.match(projekte) && title != page
body += "* [[" + title + "]]\n"
end
end
return body
end
end

@ -0,0 +1,18 @@
#!/usr/bin/env ruby
require 'mediawikibotchecker'
if ARGV.size() != 2
$stderr.print($0 + " <wiki-user> <wiki-password>\n")
exit(1)
end
#----------------------------------------------------------------------------
b = WikiChecker.new("http://www.entropia.de/wiki/")
b.login(ARGV[0], ARGV[1])
page = "Projekte"
category = "Category:Projekte"
body = b.category_checker(page, category)
b.edit("Benutzer:Neinomat/#{page}", body, "wiki ex machina")