aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'gentoo-data.rb')
-rw-r--r--gentoo-data.rb63
1 files changed, 63 insertions, 0 deletions
diff --git a/gentoo-data.rb b/gentoo-data.rb
new file mode 100644
index 0000000..e076722
--- /dev/null
+++ b/gentoo-data.rb
@@ -0,0 +1,63 @@
+# Gentoo centric plugin for rbot
+# Copyright (c) 2008 Mark Loeser <mark@halcy0n.com>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+require 'net/http'
+
+class GentooPlugin < Plugin
+ def meta(m, params)
+ f = IO.popen("/usr/bin/python #{@bot.botclass}/gentoo-scripts/metadata.py #{params[:pkg]}")
+ m.reply "#{m.source.nick}: #{f.readlines}"
+ end
+
+ def changelog(m, params)
+ f = IO.popen("/usr/bin/python #{@bot.botclass}/gentoo-scripts/changelog.py #{params[:pkg]}")
+ m.reply "#{m.source.nick}: #{f.readlines}"
+ end
+
+ def devaway(m, params)
+ res = Net::HTTP.start('dev.gentoo.org', 80) { |http|
+ http.get("/devaway/index-csv.php?who=#{params[:dev]}")
+ }
+ m.reply "#{m.source.nick}: #{res.body}"
+ end
+end
+
+plugin = GentooPlugin.new
+
+plugin.default_auth( 'modify', false )
+plugin.default_auth( 'view', true )
+
+plugin.map 'meta :pkg',
+ :requirements => {
+ :pkg => /^[^\. ]+$/
+ },
+ :action => 'meta',
+ :auth_path => 'view'
+
+plugin.map 'changelog :pkg',
+ :requirements => {
+ :pkg => /^[^\. ]+$/
+ },
+ :action => 'changelog',
+ :auth_path => 'view'
+
+plugin.map 'devaway :dev',
+ :requirements => {
+ :dev => /^[^\. ]+$/
+ },
+ :action => 'devaway',
+ :auth_path => 'view'
+