diff options
author | Michał Górny <mgorny@gentoo.org> | 2016-01-26 16:46:26 +0100 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2016-01-26 16:46:26 +0100 |
commit | 6dbe59e6269ce97942db9617250fc8cddd7ee931 (patch) | |
tree | 8cb4a9866488b2e296a1ebb3687c0dda0e40b9db | |
parent | !meta: Stop printing herds (diff) | |
download | rbot-gentoo-6dbe59e6269ce97942db9617250fc8cddd7ee931.tar.gz rbot-gentoo-6dbe59e6269ce97942db9617250fc8cddd7ee931.tar.bz2 rbot-gentoo-6dbe59e6269ce97942db9617250fc8cddd7ee931.zip |
!herd: Remove
-rw-r--r-- | gentoo-data.rb | 71 |
1 files changed, 1 insertions, 70 deletions
diff --git a/gentoo-data.rb b/gentoo-data.rb index 0be1177..5782ff5 100644 --- a/gentoo-data.rb +++ b/gentoo-data.rb @@ -31,7 +31,6 @@ #GLSA_SRC = "http://www.gentoo.org/security/en/glsa/glsa-@GLSA_ID@.xml?passthru=1" VALID_PACKAGE_SRC = "/dev/shm/qsearch.txt" GLSA_SRC = "#{ENV['PORTDIR']}/metadata/glsa/glsa-@GLSA_ID@.xml" -HERDS_SRC = 'https://api.gentoo.org/packages/herds.xml' PROJECTS_SRC = 'https://api.gentoo.org/metastructure/projects.xml' PGO_RESOLVE_URI = 'https://packages.gentoo.org/packages/resolve.json?atom=%s' PGO_DATA_URI = 'https://packages.gentoo.org/packages/%s.json' @@ -145,67 +144,9 @@ class GentooPlugin < Plugin def initialize super @@cached = {} - @@cached['herds'] = [0, nil] @@cached['projects'] = [0, nil] @@cached['pkgindex'] = [0, nil] @@cached['alias'] = [0, nil] - @@cached['notherds'] = [0, nil] - end - - def herd(m, params) - now = Time.now.tv_sec - unless @@cached['herds'] and @@cached['herds'][0] > now-600 - #m.reply "Fetch #{@@cached['herds'][0]} > #{now-600}" - res = @bot.httputil.get(HERDS_SRC) - herds = REXML::Document.new(res) - @@cached['herds'] = [now, herds] - else - #m.reply "Cache #{@@cached['herds'][0]} > #{now-600}" - herds = @@cached['herds'][1] - end - - unless @@cached['notherds'] and @@cached['notherds'][0] > now-600 - notherds = {} - File.foreach("#{scriptdir}/not-a-herd.txt") { |line| - k,v = line.split(/\s+/, 2) - notherds[k] = v - } - if notherds.length > 0 - @@cached['notherds'] = [now, notherds] - else - @@cached['notherds'] = [0, nil] - end - else - notherds = @@cached['notherds'][1] - end - - # Parse data - # xpath queries with REXML appear to be extremely slow, which is why we took the approach below - herd = nil - herds.elements[1].each_element { |elem| - if elem.get_elements('name')[0].text == params[:herd] - herd = elem - break - end } - if herd - emails = [] - for maintainer in herd.get_elements("maintainer") - emails << maintainer.get_elements('email')[0].text.split('@')[0] - end - for project in herd.get_elements("maintainingproject") - res = @bot.httputil.get("http://www.gentoo.org/#{project.text}?passthru=1") - proj_xml = REXML::Document.new(res) - for dev in proj_xml.get_elements("/project/dev") - emails << dev.text - end - end - m.reply "(#{params[:herd]}) #{emails.sort.join(', ')}" - elsif notherds.has_key?(params[:herd]) - herddata = notherds[params[:herd]] - m.reply "(#{params[:herd]}) #{herddata}" - else - m.reply "No such herd #{params[:herd]}" - end end def project(m, params) @@ -420,14 +361,13 @@ class GentooPlugin < Plugin end @@help_gentoo = { - "gentoo" => "Available commands: #{Bold}meta#{Bold}, #{Bold}changelog#{Bold}, #{Bold}devaway#{Bold}, #{Bold}herd#{Bold}, #{Bold}proj#{Bold}, #{Bold}expn#{Bold}, #{Bold}glsa#{Bold}, #{Bold}earch#{Bold}, #{Bold}rdep#{Bold}, #{Bold}ddep#{Bold}, #{Bold}pdep#{Bold}", + "gentoo" => "Available commands: #{Bold}meta#{Bold}, #{Bold}changelog#{Bold}, #{Bold}devaway#{Bold}, #{Bold}proj#{Bold}, #{Bold}expn#{Bold}, #{Bold}glsa#{Bold}, #{Bold}earch#{Bold}, #{Bold}rdep#{Bold}, #{Bold}ddep#{Bold}, #{Bold}pdep#{Bold}", "meta" => [ "meta #{Bold}[cat/]package#{Bold} : Print metadata for the given package", "meta -v #{Bold}[cat/]package#{Bold} : Print metadata for the given package and the members of the maintaining projects.", ].join("\n"), "changelog" => "changelog #{Bold}[cat/]package#{Bold} : Produce changelog statistics for a given package", "devaway" => "devaway #{Bold}devname|list#{Bold} : Print the .away for a developer (if any). Using 'list' shows the developers who are away.", - "herd" => "herd #{Bold}herdname#{Bold} : Print the members of a herd.", "proj" => "proj #{Bold}project-email#{Bold} : Print the members of a project.", "expn" => "expn #{Bold}alias#{Bold} : Print the addresses on a Gentoo mail alias.", "glsa" => [ @@ -459,7 +399,6 @@ plugin.default_auth( 'view', true ) REGEX_CP = /^(?:[-[:alnum:]]+\/)?[-+_[:alnum:]]+$/ REGEX_DEV = /^[-_[:alnum:]]+$/ -REGEX_HERD = /^[-_[:alnum:]]+$/ REGEX_PROJECT = /^[-_@.[:alnum:]]+$/ REGEX_GLSA = /^[-1234567890]+$/ @@ -510,14 +449,6 @@ plugin.map 'away :dev', :thread => 'yes', :auth_path => 'view' -plugin.map 'herd :herd', - :requirements => { - :herd => REGEX_HERD, - }, - :action => 'herd', - :thread => 'yes', - :auth_path => 'view' - plugin.map 'proj :project', :requirements => { :project => REGEX_PROJECT, |